如何在 apache2 中设置监听 https 请求?
我的一个虚拟主机有以下形式:
<VirtualHost *:80>
ServerName central
DocumentRoot /var/www4
...
</VirtualHost>
我应该如何修改我的虚拟主机配置的摘录以使 apache 能够监听 https?我需要它,因为我的网站应该在登录时发送 https POST 请求。我尝试更改以下开始标签:
<VirtualHost *:80 *:443>
...,但是没有用。有什么想法吗?
答案1
尝试这个
Listen 10.1.2.3:443
Listen 10.1.2.3:80
NameVirtualHost 10.1.2.3:443
<VirtualHost 10.1.2.3:443>
ServerName some.name.com
SSLEngine On
SSLCertificateFile /path/to/file.crt
SSLCertificateKeyFile /path/to/file.key
DocumentRoot /var/www4/ssl
# ....
</VirtualHost>
<VirtualHost 10.1.2.3:80>
DocumentRoot /var/www4/nossl/
# ....
</VirtualHost>
答案2
Listen 指令就是您想要的,但请注意,您需要一个专用 IP 才能正确实施 SSL。使用 VirtualHosts(您的 *:80 和 *:443 使用此 IP)与 ServerName 和 ServerAlias 不起作用,因为该信息是从建立加密连接后发送的数据中收集的(HTTP 2 交换的 Hostname 部分是它如何确定您的虚拟主机)。
如果这没有意义,我会尝试澄清。