我有启用了SSL的Apache Tomcat。我让Apache HTTP Server充当反向代理,因此如果用户点击http:// myserver / tomcat /,我将被传递给http:// myserver:8080。
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
我也为SSL配置了Apache HTTP服务器,因此当用户点击https:// myserver / tomcat /时,应该将它们传递到https:// myserver:8443 /。
使用当前的ProxyPass和ProxyPassReverse配置,它们将被重定向到非SSL URL。如何设置代理通过,以便根据传入请求将其重定向到其他协议和端口?
也就是说,如果有人通过HTTPS进入,如何将他们重定向到我的tomcat @ https:// myserver:8443?
更新:
@ mike-insch
我试过了:
NameVirtualHost *:443
<VirtualHost *:80>
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
</VirtualHost>
<VirtualHost *:443>
ProxyPass /tomcat/ https://myserver:8443/
ProxyPassReverse /tomcat/ https://myserver:8443/
</VirtualHost>
现在,当我访问:https:// myserver / tomcat /时,我得到“找不到页面”。在错误日志中,我看到“文件不存在:/ var / apache2 / htdocs / tomcat”
正确,但是我希望请求将路由到运行在https:// myserver:8443 /的 tomcat 。
猜猜我需要更多地看一下虚拟主机,除非看起来有些明显的错误。
NameVirtualHost
此处的指令。另外,您需要添加适当的指令以在您的<VirtualHost *:443>
部分中启用SSL 。