在 apache 中监听 https

在 apache 中监听 https

如何在 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 部分是它如何确定您的虚拟主机)。

如果这没有意义,我会尝试澄清。

相关内容