Я развернул приложение tomcat и сделал необходимые настройки для веб-сервера (для удаления порта и т. Д.).
Я могу получить доступ к приложению следующим образом
http://www.domain.com/appname/
Но я хотел бы получить доступ к приложению, даже когда пользователь входит
http://www.domain.com
(просто URL, без названия приложения)
http://domain.com
(просто домианское имя)
Я новичок в конфигурациях Apache, мне очень помогут любые указатели или образцы.
Я думал "прокси-прокси" разрешится ...
Надо ли искать правила перезаписи или какие-то другие?
Я решил это, поставив index.html
файл в webapps/ROOT
папка, содержащая обычное перенаправление HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>appname</title>
<meta http-equiv="REFRESH" content="0;url=./appname/"></HEAD>
<body>
</body>
</html>
Для тех, кому может понадобиться решение, я просто добавил следующее в httpd.conf, и он отлично справляется с моими проблемами:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.%[HTTP_HOST}/$1 [L,R,NE]
ProxyPass /appname http://localhost:8080/appname
ProxyPassReverse /recsconnect http:...
ProxyPass / http...
ProxyPassReverse / http....
Я забыл ранее добавить последние две строчки.
Вы можете развернуть свое приложение как веб-приложение ROOT в Tomcat, чтобы избавиться от префикса, который у вас остался. Просто разархивируйте свое приложение в $CATALINA_HOME/webapps/ROOT
папку или - если он развернут как заархивированный файл .war - просто переименуйте свой файл в ROOT.war
при вставке в webapps
папка. Тогда он будет доступен без префикса приложения.
Что касается ваших доменных имен с / без «www»: если вы используете Apache перед Tomcat, то mod_rewrite
справочная документация имеет хороший раздел, описывающий канонические имена хостов.
Еще один вариант, который стоит рассмотреть, - это UrlRewriteFilter. Особенно полезно, если вы уже знаете mod_rewrite, но не хотите использовать apache.