Задание имени контекста в тимиле при включенной весенней загрузке на tomcat8 за обратным прокси-сервером apache - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь:

  • настроить поддомен , в котором корневой путь / будет проксировать приложение 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, который также распознается тимилифом.

1 Ответ

0 голосов
/ 27 сентября 2019

Хорошо, решение очень сложное, если вы настроили контекстный путь специально для Thymeleaf.Тем не менее, это простой способ развернуть приложение в ROOT / контексте tomcat, который решил мою проблему.

Существует два варианта развертывания в ROOT / в автономном развертывании Tomcat:

  1. Переименуйте ваш военный файл с myuiapp.war на ROOT.war

  2. Измените контекст в конфигурации tomcat так, чтобы он указывал на myuiapp.war

Пожалуйста, см. Этот ответ для получения более подробной информации.

...