У меня есть приложения на 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?
Если у вас нет другого веб-сервера, прослушивающего порт 80, такого как apache, простым решением будет изменить порт прослушивания tomcat на 80.
Если у вас есть apache, прослушивающий порт 80, вы все равно можете получить доступ к своим приложениям через порт 80 с помощью mod_jk.
Лучший способ сделать это - через обеспечить регресс прокси.
Вы можете настроить другой веб-сервер перед tomcat, который действует как обратный прокси и автоматически выполняет переводы между портом 80 спереди и портом 8080 сзади.
Apache можно настроить с помощью mod_proxy или даже mod_jk и / или mod_proxy_ajp. В противном случае вы можете использовать автономные прокси, такие как фунт.
Вы можете использовать обратный прокси в Apache.
Создайте VirtualHost, который прослушивает порт 80 и настраивает прокси:
ProxyPreserveHost Off
ProxyPass / http://xxx:8091/app/
ProxyPassReverse / http://xxx:8091/app/