IIS 7 + Apache Tomcat 7 + isapi_redirect.dll
:
У меня есть развернутое и работающее приложение Tomcat, доступное в http://localhost:8080/my_app
.
Я хотел бы видеть такой же контент под http://my_app.local
(а НЕ сайт Tomcat по умолчанию [который вы можете увидеть ниже]).
Я настроил isapi_redirect.dll
так что прямо сейчас my_app.local
содержание равно localhost:8080
х, но этого мало, я хотел бы отобразить localhost:8080/my_app
под my_app.local
. (Я должен 127.0.0.1 my_app.local
в файле hosts, поэтому я уже могу открыть my_app.local
, НО теперь он показывает только сайт Tomcat по умолчанию (такой же, как доступный в http://localhost:8080
)).
Прочтите, пожалуйста, то, что я уже пробовал:
у меня есть IIS 7 (7.5.7600.16385) и Apache Tomcat / 7.0.22 установлены.
my_app
") в Tomcat, который теперь доступен по адресу http://localhost:8080/my_app
, работает отлично. Я добавил новый веб-сайт в панель IIS с путем к развернутому Tomcat my_app
, который выглядит так: "c:\Program
Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app
"my_app.local
.isapi_redirect.dll
лайк этот (или который).http://my_app.local
, Я вижу сайт Tomcat по умолчанию (см. Ниже), который совпадает с содержимым в http://localhost:8080/
!! (Это проблема!!!)http://my_app.local
Я хотел бы видеть то же содержание, что и под http://localhost:8080/my_app
.Как я могу это сделать? Заранее большое спасибо!!
мои файлы конфигурации:
ОБНОВИТЬ
Я тоже нашел это: http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html
Случай B: вам необходимо скрыть компоненты пути для всех запросов, поступающих в приложение. Вот рецепт для случая, когда вы хотите скрыть первый компонент пути / myapp. Более сложные манипуляции оставлены читателю в качестве упражнения. Сначала решение для случая Apache httpd:
- Используйте mod_rewrite, чтобы добавить / myapp ко всем запросам перед пересылкой на бэкэнд: [...]
- Используйте mod_headers, чтобы переписать любые HTTP-перенаправления, которые может вернуть ваше приложение. [...]
- Снова используйте mod_headers, чтобы переписать пути, содержащиеся в любых файлах cookie, которые может установить ваше приложение. [...]
Если вы используете Microsoft IIS в качестве веб-сервера подключаемый модуль ISAPI обеспечивает способ выполнения первого шага с помощью встроенной функции. Вы определяете файл сопоставления для простых изменений префикса, например:
# Add a context prefix to all requests ... /=/myapp/ # ... or change some prefix ... /oldapp/=/myapp/
а затем введите имя файла в
rewrite_rule_file
запись в реестре или вашisapi_redirect.properties
файл. В твоемuriworkermap.properties
файла, вам все равно нужно сопоставить URL-адреса, как они есть, перед перезаписью! [...]
Нет поддержки шагов 2 (перезапись ответов перенаправления) или 3 (перезапись путей к файлам cookie).
Я был удивлен, что пишет "Нет поддержки шагов 2 (перезапись ответов перенаправления) или 3 (перезапись путей к файлам cookie).", Я не знаю, правда ли это по-прежнему, но что потом? Я снова застрял?
Вы можете попробовать это: http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx
Кажется, это то, что вам нужно: перезапись URL и маршрутизация приложений.
В зависимости от вашей цели (легко запомнить URL?), Может быть, просто перенаправить my_app.local -> my_app.local: 8080 / my_app?
Это не будет скрывать целевой сайт, однако.
Настройте новый сайт IIS на my_app.local и позвольте ему перенаправить в ваше приложение: 8080 / my_app.
http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx