Перезапись URL не работает с Tomcat8, работающим на ElasticBeanStalk - PullRequest
1 голос
/ 06 февраля 2020

У нас есть 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.

...