IIS 7 + Tomcat 7 - как открыть http://localhost:8080/my_app, например, http://my_app.local

IIS 7 + Tomcat 7 - как открыть http://localhost:8080/my_app, например, http://my_app.local

Вкратце:

ИИС 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)).

Пожалуйста, прочтите то, что я уже попробовал:


Лонгер объяснил:

У меня естьИИС 7(7.5.7600.16385) иApache Tomcat/7.0.22установлен.

  1. Я развернул приложение (назовем его " my_app") в Tomcat, которое теперь доступно по адресу http://localhost:8080/my_app, работает отлично. Я добавил новый веб-сайт в панель IIS с путем к развернутому Tomcat my_app, который выглядит так: " c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app"
  2. Я привязал имя хоста my_app.local.
  3. После этого я настроил isapi_redirect.dllкакэтот(или что).
  4. Теперь, когда я открываю http://my_app.local, я вижу сайт Tomcat по умолчанию (см. ниже), который совпадает с содержимым под http://localhost:8080/!! (Вот в чем проблема!!!)
  5. НО под http://my_app.localя хотел бы видеть тот же контент, что и под http://localhost:8080/my_app.

Как мне это сделать? Спасибо большое заранее!!

мои файлы конфигурации:

введите описание изображения здесь



ОБНОВЛЯТЬ

Я тоже нашел это:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html

Случай B: Вам нужно скрыть компоненты пути для всех запросов, идущих к приложению. Вот рецепт для случая, когда вы хотите скрыть первый компонент пути /myapp. Более сложные манипуляции оставляем в качестве упражнения читателю. Сначала решение для случая Apache httpd:

  1. Используйте mod_rewrite для добавления /myapp ко всем запросам перед пересылкой на бэкэнд: [...]
  2. Используйте mod_headers для перезаписи любых HTTP-перенаправлений, которые может возвращать ваше приложение. [...]
  3. Используйте 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) отсутствует.", я не знаю, правда ли это до сих пор, но что тогда? Я снова застрял?

решение1

В зависимости от вашей цели (легко ли запомнить URL-адрес?), возможно, будет нормально простоперенаправитьмое_приложение.local -> мое_приложение.local:8080/моё_приложение?

Это не было быскрыватьоднако целевой сайт.

Настройте новый сайт IIS на my_app.local и разрешите емуперенаправитьв ваше приложение :8080/my_app.

http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx

решение2

Можете попробовать это: http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx

Кажется, это то, что вам нужно: переписывание URL-адресов и маршрутизация приложений.

Связанный контент