我正在尝试通过 apache 或 nginx virtualhost 设置多个 https 网站,但我注意到我必须将端口附加到 IP 地址的末尾才能查看使用非默认 443 ssl 端口的网站的 https
是否可以在使用不同端口的同一服务器上拥有多个 https 网站?如果是,那么如何在不需要在末尾附加非默认端口的情况下做到这一点
我试过的
# Ensure that Apache listens on port 80 and all ssl ports
Listen 80
Listen 443
Listen 543
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
NameVirtualHost *:443
NameVirtualHost *:543
<VirtualHost 192.168.101.44:443>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost 192.168.101.54:543>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>
按此顺序,将能够分别访问https://www.example1.com和https://www.example2.org上的网站
这可能吗?阿帕奇?Nginx?我使用两个网络服务器,所以想知道它是否可以与其中一个或两个一起工作。如果需要,我可以将问题编辑得更清楚。
谢谢
您可以在一台服务器上使用一个 IP 地址提供任意数量的站点,并且每个域都可以侦听端口 80 和 443。因此 example.com 可以侦听 80/443,example1.com 可以侦听 80/ 443等
在 nginx 中,您只需定义多个服务器,如下所示
您可能会更好地从 80 转发到 443,因此一切都是安全的。在本教程中我有一套非常完整的配置文件,一般来说在 nginx 上也有很多。
请注意,有人建议直接对我教程的另一部分进行编辑。我直接链接到该页面,因为它包含整个系列教程的目录,以及您可以下载的 nginx 配置文件。
是的,基于名称的虚拟主机是该技术的广义名称。在 SF 和更广泛的互联网上有很多这样的例子。
你不能。标准为 HTTP 定义端口 80,为 HTTPS 定义端口 443,因此您无需提供它们,并且您的标准兼容工具会根据方案知道在哪里连接。
如果您使用的是非标准端口,则必须提供它。