我已经尝试了几天,但一直没有成功。所以基本上我希望我的 apache 代理将用户重定向到 :8443 上的 tomcat。如果我转到 domain.com:8443,它会显示正确的页面,但如果我转到 domain.com,它会显示“401 需要授权”页面。我已将其设置为在 tomcat 配置中将端口 80 重定向到 443,将 8080 重定向到 8443。default.conf:
<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com
SSLEngine On
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
</IfModule>
我尝试了所有方法,但找不到适合自己的解决方案。任何帮助我都会很感激,我是这方面的新手 :)
编辑-忘记提到 chrome 说我的证书无效,如果这与此有关的话。
答案1
如果 Tomcat 端口8080
有重定向,并且您代理到该端口,则您的反向代理也会有效地执行重定向。要解决此问题,您有两个选择:
从 Tomcat 中删除重定向
8080
,并使 Tomcat 仅监听本地环回(localhost
,127.0.0.1
)。Apache 和 Tomcat 之间的本地连接不需要加密,因为 Apache 正在终止来自用户的 TLS 连接。直接反向代理到HTTPS端口
8443
:ProxyPass / https://localhost:8443/ ProxyPassReverse / https://localhost:8443/