相同的服务器,SSL和非SSL

时间:2012-02-03 10:07:04

标签: apache ssl vhosts

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

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

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

1 个答案:

答案 0 :(得分:24)

是的,您只需在端口443(HTTPS)上为同一名称添加另一个VirtualHost。 将SSLProtocol设置为您希望允许的whichever protocols

<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>