Я пытаюсь:
настроить поддомен , в котором корневой путь /
будет проксировать приложение thmeleaf + весенней загрузки локального tomcat в http://localhost:8080/myuiapp/
,
Имея гибкость, я могу изменить путь к контексту на /application
или /demo
или /anything
в будущем (только с изменениями конфигурации Apache) без какой-либо кодовой базы илиИзменения конфигурации tomcat.
Проблема, с которой я сталкиваюсь, заключается в следующем: - тимелиф не меняет имя контекста при развертывании на автономном tomcat8.(Я узнал, что свойство пути к контексту влияет только на встроенный сервер Tomcat)
Так что th:href="@{/assets/vendors/global/vendors.bundle.css}"
всегда вычисляется как href=/myuiapp/assets/vendors/global/vendors.bundle.css
.
Вот одна из конфигураций виртуального хоста, которую я 'я пробовал:
<VirtualHost _default_:443>
ServerName foo.domain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/foo.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/foo.domain.com/privkey.pem
ProxyPreserveHost On
ProxyPass / http://localhost:8080/myuiapp/
ProxyPassReverse / http://localhost:8080/myuiapp/
ProxyPass /newapp/ http://localhost:8080/myuiapp/
ProxyPassReverse /newapp/ http://localhost:8080/myuiapp/
</VirtualHost>
Я пробовал следующие вещи:
1) Apache отправляет заголовки приложению и приложению с учетом этих заголовков
SSLProxyEngine on
ProxyPreserveHost on
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
server.use-forward-headers=true
2) Установка пути к контексту вручную
System.setProperty("server.servlet.context-path", contextPath)
3) Относящиеся к серверу URL-адреса в Thymeleaf - ссылка (Это решает мою первую проблему с корневым /
путем к контексту, ноне /any
путь к контексту)
<a th:href="@{~/billing-app/showDetails.htm}">
Нужна ваша помощь в настройке динамического имени контекста, когда мы развертываем на автономном tomcat, который также распознается тимилифом.