我安装了tomcat并在ubuntu 12.04 LTS系统上运行,并使用端口443进行https请求(安装了GeoTrust证书)。
在同一台机器上,apache2响应端口80上的请求。
现在,我承担了使用SSL(但使用其他服务器证书)保护在apache2上运行的webapps(php)的任务。
这有可能吗?-我的假设是“否”,因为我不能有两台服务器在同一端口上进行侦听,但是我不太确定,到目前为止还没有找到任何有用的信息。
任何帮助将不胜感激。
如今,您仍然很难在单个接口/端口组合上提供多个证书(例如0.0.0.0:443)。如果要为HTTPS使用两个单独的端口,那没有问题。如果要绑定到不同的接口(例如1.2.3.4:443和4.3.2.1:443),那没问题。如果您希望它们都在同一接口/端口上,则必须依靠Web服务器版本和/或客户端可能支持或可能不支持的服务器名称指示。
如果需要不同的证书,则可能也需要不同的主机名,因此也许可以在计算机上配置第二个接口。请注意,您不需要仅在计算机上具有多个NIC即可启用不同的接口:您的OS应该能够创建具有不同IP地址的另一个接口,并且仍然共享NIC。然后,您只需将DNS设置为将每个主机名指向一个不同的IP地址,并确保将每个SSL VirtualHost绑定到正确的IP地址(而不是使用0.0.0.0
或*
作为主机名)。
坦白地说,SNI是最容易做到的事情:只需以每种方式使用启用了SSL(具有不同证书)的VirtualHosts,就可以“期望”它正常工作,并查看服务器是否启动而不会出现问题。如果是这样,您将需要测试您的客户,以了解它是否对您的受众有用。对于SNI场景,我假设Apache httpd将处理所有SSL流量,并且您将使用类似mod_proxy_*
或mod_jk
代理Tomcat的方式。
对于split-IP方案,您可以执行任何操作:在Tomcat中终止SSL或对所有内容使用httpd并为Tomcat提供动态内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句