Использование mod_rewrite, чтобы скрыть порт Tomcat
У меня есть приложения на Tomcat, которые используют такие URL-адреса: http://xxx:8080/myapp
Я не хочу, чтобы пользователи видели порт в URL.
Привет могу сделать правило переписать, как это:
RewriteRule ^/myapp(.*) http://xxx:8080/myapp$1 [P,L]
Таким образом, если пользователь переходит на URL http://xxx/myapp
он может войти в приложение в порядке, но порт все равно будет отображаться в браузере. Я хочу, чтобы URL, который видит пользователь, был всегда http://xxx/myapp
Как я могу сделать это, используя mod_rewrite?
3 ответа
Вы можете использовать обратный прокси в Apache.
Создайте VirtualHost, который прослушивает 80 портов и настройте прокси:
ProxyPreserveHost Off
ProxyPass / http://xxx:8091/app/
ProxyPassReverse / http://xxx:8091/app/
Если у вас нет другого веб-сервера, прослушивающего порт 80, такого как apache, простым решением будет изменить порт прослушивания tomcat на 80.
Если у вас есть Apache, прослушивающий порт 80, вы все равно можете получить доступ к своим приложениям через порт 80, используя mod_jk.
Лучший способ сделать это через обратный прокси.
Вы можете настроить другой веб-сервер перед tomcat, который действует как обратный прокси и автоматически выполняет переводы между портом 80 спереди и портом 8080 сзади.
Apache можно настроить с помощью mod_proxy или даже mod_jk и / или mod_proxy_ajp. В противном случае вы можете использовать автономные прокси, такие как фунт.