18

是否可以在 Apache 2.x 的同一台服务器上同时运行 SSL 协议和非 SSL 协议?

因此,如果我访问http://example.com(非 SSL)和https://example.com(SSL),它们都将可用。

如果是这样,我需要创建一个虚拟主机吗?这个VirtualHost指令是什么样子的,谁能给我一个例子?(假设我已经有证书)

4

1 回答 1

29

是的,您只需在端口 443 (HTTPS) 上添加另一个同名的 VirtualHost。设置SSLProtocol为您希望允许的任何协议。

<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /var/www/your-domain-root
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/your-domain-root
    ServerName your-domain.com
    SSLEngine On
    SSLOptions +StrictRequire
    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLProtocol TLSv1
</VirtualHost>
于 2012-02-03T10:11:07.037 回答