Я не могу правильно настроить свой обратный прокси apache2 для приложения context tomcat.Apache2 ProxPassReverse с перенаправлением и контекстом tomcat
Я использую URL-адрес www.projet-okinawa.ch в браузере для внешнего доступа к приложению.
Мой tcp-порт 80 направляется на 8080 по iptables.
(sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080)
я определил виртуальный хост, чтобы поймать URL-адрес www.projet-okinawa.ch из порта 8080 и перенаправить запрос на порт SSL.
<VirtualHost *:8080>
ServerName www.projet-okinawa.ch
ServerAlias projet-okinawa.ch
Redirect permanent/https://www.projet-okinawa.ch:8443/
</VirtualHost>
I defined a second virtual host to catch the same url from the port 8443 that enable ssl and manage the reverse proxy.
<VirtualHost *:8443>
ServerName www.projet-okinawa.ch
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass/http://web.projet-okinawa.org:8081/okinawa
ProxyPassReverse/http://web.projet-okinawa.org:8081/okinawa
<Location />
Order allow,deny
Allow from all
</Location>
SSLCertificateFile /etc/letsencrypt/live/os-vps276.projet-okinawa.org/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/os-vps276.projet-okinawa.org/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/os-vps276.projet-okinawa.org/chain.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Вы можете заметить, что контекст веб-приложения установлен на/okinawa.
Моя конфигурация tomcat прослушивает порт 8080, 8081 и 8443 tcp.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
proxyName="www.projet-okinawa.ch" proxyPort="8443" scheme="https" />
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
URIEncoding="UTF-8"
keystoreFile={keystore} keystorePass={password} />
Веб-приложение выполняется на локальном двигателе Catalina в контексте/okinawa. Контекст не был определен с использованием дескриптора контекста, а путем автоматического развертывания. Приложение выполняется правильно, и оно доступно внутренне, используя порт 8080 (например: http://web.projet-okinawa.org/okinawa/participatewithus.html).
При подключении через прокси с помощью www.projet-okinawa.ch у меня есть статус HTTP 404 -/okinawaokinawa/exception.
Я проверил много разных способов настройки обратного прокси-сервера, но безуспешно. Я не понимаю, почему возвращаемый URL-адрес не поддерживается на сайте www.projet-okinawa.ch без контекста, который кажется дублированным.
Любая помощь приветствуется.