У нас есть Java сервер, работающий на Tomcat8 на AWS ElasticBeanStalk. Проект содержит веб-приложение AngularJS в качестве внешнего интерфейса. Наше веб-приложение доступно через www.domain.com/webappName.. Я помещаю файл .conf в .ebextensions / httpd / conf.d в мою директорию root.
Вот содержимое моего conf.d (правило перенаправления на новый URL с новой версией интерфейса в Angular7)
<VirtualHost *:80>
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/webappname/index\.html
RewriteRule ^webappname/index\.html(.*)$ https://redirect-domain.com/$1 [R=301,L]
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
Но перезапись не работает. Я проверил свое правило в localhost и онлайн-симуляторе, и оно работало нормально. Но когда мы разворачиваем наш файл War на AWS ElasticBeanStalk, он не работает.
Знаете почему? Похоже, файл конфигурации обойден. Я пробовал с AllowOverride All
, но он не работает.
Наш ElasticBeanStalk работает с Tomcat8, Java8 и Apache 3.3.2.