Condividire...

Condividere ha il suo costo, ma alla fine finisce per arricchire tutti


Sharing has its cost, but at the end leads everyone to a better knowledge

lunedì 20 febbraio 2012

Coesistenza di IIS ed Apache sulla porta 80

La risposta più ovvia è che affiché i due servizi possano utlizzare la stessa porta bisogna metterli in ascolto su due IP diversi.
Quindi diciamo che vogliamo creare due endpoint:
1) APACHE: 192.168.1.1:80
2) IIS: 192.168.1.2:80

Per quanto riguarda Apache basta andare nell' httpd.conf e modificare la sezione:
LISTEN 80
in
LISTEN 192.168.1.1:80
(ovviamente controllando anche eventuali configurazioni al livello di singoli siti)
Si riavviano i servizi ed è tutto pronto.

Su IIS si va sui bindigs dei siti ed invece di selezionare tutti gli ip disponibili ossia 0.0.0.0 si seleziona esplicitamente l'IP 192.168.1.2.

E non va! :)

In effetti il nostro IIS si mette comunque in ascolto su 0.0.0.0:80 e quindi è in conflitto con l'incolpevole Apache.

Bisogna cambiare esplicitamente il listener HTTP.

Windows 2003 IIS6:
1) Scaricare httpcfg.exe dai support tool dal CD di installazione o da internet
2) Fermiamo i servizi IIS tramite il comando: net stop http /y
3) Fermare i servizi di Apache
4) Modifichiamo il listener: httpcfg set iplisten -i 192.168.1.2
5) Facciamo ripartire IIS: net start w3svc
6) Riavviamo Apache

Windows 2008 IIS7
Qui l'evoluzione del NETSH ci semplifica la vita
1) Apriamo un prompt dei comandi con privilegi amministrativi e diamo i seguenti comandi:
2) NETSH
3) HTTP
4) add iplisten ipaddress=192.168.0.2
5) EXIT

In ambedue i casi potete verificare tramite il comando:
NETSTAT -an
che il server è in ascolto correttamente su

192.168.1.1:80
192.168.1.2:80

Se trovate ancora 0.0.0.0:80
date il comando:
ISSRESET

Nessun commento:

Posta un commento