Ciao a tutti.

ho la necessità di utilizzare una porta diversa dalla 80 (e 443) nel binding di un dominio.

in IIS 10 imposto in questo modo il binding

IP ADDRESS: 888.888.888.888 (fake)
PORT: 4040 (al posto di 80 o 443)
HOST NAME: www.miosito.it (fake)

quando scrivo nel browser l' url devo inserire (ovviamente) anche la porta

http://www.miosito.it:4040 (e funziona)

il mio problema è che non riesco a fare in modo di rimuovere (o meglio nascondere) la porta dall' url nel browser.

Ho tentato con alcune regole URL REWRITE ma senza successo.

con il webserver APACHE (php/wordpress) la cosa è fattibile ma con IIS non riesco a capire come fare

Filippo
11.792 messaggi dal 09 febbraio 2002
Contributi
Ciao Filippo, il sito IIS (così come il virtual host di apache) viene selezionato dal webserver solo in base al nome host e alla porta. Le regole di url rewriting agiscono solo a posteriori, cioè DOPO che il sito è stato selezionato.


con il webserver APACHE (php/wordpress) la cosa è fattibile

Quello che hai fatto, probabilmente, è stato configurare un reverse proxy:
  • Un webserver, tipo nginx (o Apache stesso), riceve la richiesta su un virtual host in ascolto sulla porta 80;
  • La richiesta viene inoltrata ad un altro virtual host di Apache, in ascolto sulla 4040.


Ecco come fare la stessa cosa con IIS. È necessario che tu aggiunga questa regola, che ti permette di realizzare il reverse proxy, nel sito IIS che è in ascolto sulla porta 80.
https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/

Ma... a questo punto: dato che la porta 80 la devi esporre, perché non configurare il sito IIS direttamente sulla porta 80 anziché fare un reverse proxy?

ciao,
Moreno
Modificato da BrightSoul il 28 agosto 2019 19:39 -

Enjoy learning and just keep making
Ciao Moreno,

innanzitutto grazie per la risposta.

Ma... a questo punto: dato che la porta 80 la devi esporre, perché non configurare il sito IIS direttamente sulla porta 80 anziché fare un reverse proxy?


...Non posso configurare la porta 80/443 perchè sullo stesso windows server ho 2 web server IIS10 e APACHE (ho un sito wordpress/php e uno ASP NET).

Sulla porta 80/443 ho il server APACHE (WORDPRESS) quindi in IIS devo utilizzare altre porte che non siano 80 e 443.

Per le mie conoscenze in materia APACHE e IIS non possono rispondere sulla stessa porta (ovvero 80 e 443 siccome li utilizza APACHE non li può usare IIS).

Da qui la questione in oggetto.

Filippo
11.792 messaggi dal 09 febbraio 2002
Contributi

Per le mie conoscenze in materia APACHE e IIS non possono rispondere sulla stessa porta (ovvero 80 e 443 siccome li utilizza APACHE non li può usare IIS).

Corretto. Anche se avendo due IP pubblici su quella macchina potresti mettere entrambi in ascolto sulla porta 80, ciascuno sul proprio IP.

Altrimenti dovrai fare un nuovo virtual host su apache che sia legato alle porte 80 e 443 per il nome www.miosito.it.
https://cwiki.apache.org/confluence/display/httpd/NameBasedSSLVHostsWithSNI

Questo virtual host sarà un reverse proxy, cioè inoltrerà tutte le richieste verso la porta 4040 (su cui è in ascolto IIS).
https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html


OPPURE

Lo risolvi a livello sistemistico se davanti al webserver hai un firewall in grado di discriminare in base all'hostname o di comprendere i record SRV del DNS.
Se arriva una richiesta per www.miosito.it: la reindirizza verso la porta 4040, altrimenti la lascia passare tale e quale.

ciao,
Moreno
Modificato da BrightSoul il 28 agosto 2019 22:35 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.