У меня есть сайт, написанный на PHP, и он обслуживается Apache, установленным в Linux. Чтобы сказать, его URL-адрес example.com
и в нем есть подпапки audio
, games
, photo
, поэтому пользователь указывает на него как example.com/photo
.
Сейчас я пишу новые функции (например, возможность просмотра фильмов) в ASP.Net и хочу, чтобы они были доступны пользователям как example.com/video
. И IIS для его обслуживания установлен на другом сервере, который не виден из Интернета (только Apache имеет прямой доступ к Интернету), но к нему легко можно получить доступ из Apache через интрасеть.
Сессии пользователей не важны!
Как мне настроить его для эффективной работы? Возможно, мне нужно установить еще какое-то программное обеспечение?
Я опубликовал свое решение, которое, насколько я понимаю, Дальновидный значит, но хотелось бы услышать и другие советы, если они есть.
Вы отметили вопрос «обратный прокси», так что все правильно :)
Я так понимаю, что Apache является вашим слушателем по умолчанию: 80 для вашего общедоступного IP-адреса? В этом случае вам нужно будет настроить Apache mod_proxy
модуль и настройте его на перезапись запросов для example.com/video
к IISSERVER/video
Если вашим слушателем по умолчанию является IIS, идея та же, но вам нужно будет использовать коммерческий продукт, например Перезапись ISAPI сделать это.
Я здесь новенький, поэтому не могу проголосовать за ответ Farseeker'а. Но это помогает - обратный прокси-сервер Apache является о чем вы просите. Для этого вы можете использовать множество различных продуктов, но, учитывая то, что вы сказали, это, вероятно, лучший ответ.
Да, Apache является прослушивателем по умолчанию для общедоступного IP-адреса на 80-м порту. я использовал ProxyPass
и ProxyPassReverse
добавив в virtualhost следующие строки:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /video http://iis_ip:iis_port
ProxyPassReverse /video http://iis_ip:iis_port
Но сомневаюсь, что выбрал лучшее решение. Одна из альтернатив, которую я вижу, - установить ngin и сделать его по умолчанию. Затем перенаправляйте запросы от nginx к Apacge и IIS. Возможно, есть другие варианты, поэтому я пока не закрываю вопрос.