gpt4 book ai didi

apache - 在一台机器上使用 SSL 的 Tomcat 和 Apache Webserver

转载 作者:行者123 更新时间:2023-11-28 23:41:23 24 4
gpt4 key购买 nike

我在 ubuntu 12.04 LTS 系统上安装并运行了 tomcat,使用端口 443 进行 https 请求(安装了 GeoTrust 证书)。

在同一台机器上,apache2 响应端口 80 上的请求。

现在我的任务是使用 SSL 保护在 apache2 上运行的 webapps (php),但使用不同的服务器证书。

这可能吗? - 我的假设是“否”,因为我不能让两台服务器监听同一个端口,但我不太确定,到目前为止还没有找到任何有用的信息。

任何帮助将不胜感激..

最佳答案

如今,您仍然难以在单个接口(interface)/端口组合(例如 0.0.0.0:443)上提供多个证书。如果你想为 HTTPS 使用两个单独的端口,那没问题。如果你想绑定(bind)到不同的接口(interface)(例如 1.2.3.4:443 和 4.3.2.1:443),没问题。如果您希望它们都在同一个接口(interface)/端口上,您将不得不依赖服务器名称指示,您的 Web 服务器版本和/或客户端可能支持也可能不支持。

如果你想要不同的证书,你可能也想要不同的主机名,所以也许你可以在机器上配置第二个接口(interface)。请注意,您不需要在机器上安装多个 NIC 来启用不同的接口(interface):您的操作系统应该能够创建另一个具有不同 IP 地址的接口(interface)并且仍然共享 NIC。然后您只需设置 DNS 以将每个主机名指向不同的 IP 地址,并确保将每个 SSL VirtualHost 绑定(bind)到正确的 IP 地址(而不是使用 0.0.0.0*主机名)。

老实说,SNI 是最容易做的事情:只需按照您“期望”它工作的方式使用启用了 SSL(具有不同证书)的 VirtualHosts,然后查看服务器是否正常启动。如果是这样,您需要测试您的客户,看看它是否适合您的受众。对于 SNI 场景,我假设 Apache httpd 将处理所有 SSL 流量,并且您将使用类似 mod_proxy_*mod_jk 的东西来代理到 Tomcat。

对于拆分 IP 场景,您可以做任何您想做的事情:在 Tomcat 中终止 SSL 或对所有内容使用 httpd 并将动态内容代理到 Tomcat。

关于apache - 在一台机器上使用 SSL 的 Tomcat 和 Apache Webserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19179822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com