Гуглил бы до победного, но времени в обрез. Прошу помощи.
Есть Windows Server 2008. На нем стоит виндовый сервак (видимо IIS, каюсь, я понятия не имею, что такое веб-сервер под виндой) на 80-м порту.
Apache поставить не проблема, например на порт 8080 или любой другой, но вот как сделать так, чтобы оба стояли на 80-м порту… то есть например сайт «ololo» оставался на виндовом серваке, а обращение к «piupiu» по тому же порту отдавалось на откуп Apache…
Единственное, что приходит в голову — лажа и костыли… Я думаю это не редкая проблема, какие у нее есть адекватные решения???
один сокет может занять только одна программа.
Варианты решения вам уже подсказали, они элементарны:
1) Разнести по разным ip
2) Поставить реверс-прокси на 80 порт (nginx, lighttpd, mod_proxy, etc.) и разбрасывайте на разные бекенды, скажем IIS на 8080, апач на 9090
Вам необходимо поставить ISAPI фильтр, который работал бы следующим образом:
IIS будет обрабатывать все входящие соединения, определять virtual host и отдавать обработку ISAPI-фильтру, что полность будет перенаправлять трафик на Apache седящем, скажем на 127.0.0.1:8080
Я сама этого не делала, но посмотрите как Tomcat прикручивается к IISу, думаю этот путь вам поможет.
Если у виндового сервера два IP адреса, то не проблема. Если ip адрес один, то как вариант — разнести по разным портам, а фронтендом поставить еще один сервер.