У меня есть 3 приложения для весенней загрузки:
- фронт (угловой, завернутый в springboot) на: 8084
- ресурс (пружинная загрузка) на: 8082
- аутентификация (spring-boot spring security) на: 8081.
Здесь мой Vhost:
<VirtualHost *:80>
ServerName www.website.com
Redirect / https://www.website.com/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.website.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
ServerName www.website.com
ProxyPass /auth https://127.0.0.1:8081
ProxyPassReverse /auth https://127.0.0.1:8081
ProxyPass /api https://127.0.0.1:8082
ProxyPassReverse /api https://127.0.0.1:8082
ProxyPass / https://127.0.0.1:8084/
ProxyPassReverse / https://127.0.0.1:8084/
SSLCertificateFile /etc/letsencrypt/live/www.website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Это работает, и когда вызывается конечная точка https://www.website.com/auth/oauth/authorize, яЯ перенаправлен на https://www.website.com/auth/login и вижу форму входа в систему.
Проблема в том, что ресурсы, такие как jquery или css, не загружены, потому что он пытается связаться с ними через URL https://www.website.com/resources/jquery.min.js (хотядолжно быть https://www.website.com/auth/resources/jquery.min.js).
Я попробовал решение здесь: Spring-boot со встроенным Tomcat за прокси-сервером Apache Итак, у меня есть Vhost:
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
ProxyPreserveHost On
ServerName www.website.com
ProxyPass /auth https://127.0.0.1:8081
ProxyPassReverse /auth https://127.0.0.1:8081
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
ProxyPass /api https://127.0.0.1:8082
ProxyPassReverse /api https://127.0.0.1:8082
ProxyPass / https://127.0.0.1:8084/
ProxyPassReverse / https://127.0.0.1:8084/
SSLCertificateFile /etc/letsencrypt/live/www.website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
И я добавил
server.use-forward-headers=true
в application.properties.
Но тогда, когда вызывается https://www.website.com/auth/oauth/authorize, я перенаправляюсь на https://www.website.com/login -> / отсутствует часть authтак что я получаю 404.
Не уверен, что я должен установить и где это работает?