SSL虚拟主机与Apache的IP要求

我有一个Apache安装使用ssl的多个域名。 我知道我需要把每个域放在一个单独的IP外部。 这同样适用于NAT背后的IP吗?

也就是说,我在假设的外部IP上有一个域名:1.2.3.4,另外一个域名是1.2.3.5(显然这些IP是由IP组成的)

内部这些IP都指向192.168.1.5。 它是否必须是1:1的映射,因为1.2.3.4域将指向192.168.1.5,而1.2.3.5 IP必须指向192.168.1.6? 他们都可以指向192.168.1.5,仍然工作?

你可以使用相同的内部IP,只要你使用不同的端口。 Apache需要知道哪个SSL证书/密钥用于连接,并且由于请求中的域名是encryption的,所以不能使用它。 唯一要做的就是ip:port,所以至less有一个是唯一的。

我相信答案是肯定的,NAT后面的IP地址必须是唯一的SSL证书。

SSL是一种传输级别的encryption,它在客户端发出请求之前设置。 所以服务器事先不知道客户端要请求哪个网站。

https://httpd.apache.org/docs/current/ssl/ssl_faq.html#vhosts上,您可以阅读以下内容:

请注意,如果您使用subjectAltName字段具有通配符SSL证书或具有多个主机名的证书,则可以在基于名称的虚拟主机上使用SSL,而无需进一步的解决方法。

SAN证书不仅可以在一个域中拥有多个主机,还可以在其中拥有多个域。

您可以使用相同的内部IP,因为在这种情况下您必须看到TCP工作stream程。 您的客户端连接到具有DOMAIN0名称的外部IP0。 SSL密钥用于DOMAIN0。 这个TCP会话是去IP0,甚至有一个redirect到内部IP客户端将看到外部的一个,并会很高兴。