В настоящее время у нас есть сервер IIS в качестве основного веб-сервера. Мы реализуем вместо него сервер Apache, но по-прежнему необходим доступ к серверу IIS. Как правило, это просто, потому что Apache2 может проксировать субдомен на этот сервер.
Однако наша проблема заключается в следующем: мы используем dotnetCharting на сервере IIS, а лицензирование привязано к имени домена. Для того, чтобы dotnetCharting заработал, необходимо приобрести еще одну лицензию.
У меня вопрос, может ли Apache2 проксировать подкаталог? Например, может ли «www.example.com/subdir» указывать на сервер IIS? Кажется, это не должно быть невозможным, но я не могу найти для этого решения.
Конечно. Но будь осторожен; многие веб-приложения плохо спроектированы для изменения пути URL. Используется ли в настоящее время приложение в подкаталоге?
# You'll probably want this to maintain the host mapping in IIS
ProxyPreserveHost On
# Swap in the IP address or internal host name of your IIS server:
ProxyPass /subdir/ http://192.0.2.100/subdir/
Или, если вы изменяете URL-путь, помня, что у многих приложений будут проблемы с этим из-за абсолютных путей для ресурсов (CSS, javascript, изображения):
ProxyPass /subdir/ http://192.0.2.100/
ProxyPassReverse /subdir/ http://192.0.2.100/
Конечно.
установите следующую инструкцию в своем Apache VHost
ProxyPass /subdir http://iis.server/.../
ProxyPassReverse /subdir http://iis.server/.../
Обратите внимание, что последний «/» является обязательным.
Чтобы получить больше информации: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
последняя косая черта в конце НЕ является обязательной. У меня это было так
ProxyPass /dir http://exmpale.com/dir/
ProxyPassReverse /dir http://exmpale.com/dir/
и верхний уровень работал, но все в подкаталогах ниже основного - нет.
Я поменял его на это, и все заработало.
Спасибо за дезинформацию !!!
ProxyPass /dir http://exmpale.com/dir
ProxyPassReverse /dir http://exmpale.com/dir