我有域名“www.example.com”的SSL证书,我已经在tomcat服务器上安装了这个证书,该服务器运行在端口80上运行正常。现在我的要求是以https运行php代码,因为我的Apache在8080上运行,如何使https://在端口8080上工作。它甚至可能吗?我尝试在Apache中安装相同的证书(编辑SSL.conf文件以指向我的证书。)。我甚至将tomcat密钥库转换为apache密钥文件。但我想我需要mod_ssl,它没有安装在我的服务器上,我甚至无法安装它(用mod_ssl重新配置Apache)。
总结我的问题:
我的基本要求是通过https运行PHP和JSP代码。
答案 0 :(得分:4)
更简单的方法是使用Apache作为前端,并使用其ProxyPass功能(与您的设置相反)。
让Apache在端口80和443(SSL)上运行,以及在127.0.0.1:8080上运行Tomcat的特定网站和/或URL的代理请求。
它比较简单,因为要在Apache中设置它,你只需要添加一行...
ProxyPass /foo http://127.0.0.1:8080/foo
因此,当https://www.example.com/foo的请求进入时,Apache会从Tomcat获取&f; / foo,并透明地传回给您......就用户而言,所有内容都是SSL。
如果你不想这样做......
1)是否可以在端口8080上运行的服务器上安装SSL证书。
是。端口号不是硬编码的。只需在该Tomcat连接器中启用SSL。
2)是否可以使用从Apache中的tomcat密钥库生成的相同证书。
应该是。证书是基于域的。他们不关心什么类型的服务器使用它们......但它们确实需要采用正确的格式。您可能需要重新格式化密钥和证书。
答案 1 :(得分:0)