是否可以在Apache 2.x中的同一台服务器上运行SSL协议和非SSL协议?
因此,如果我访问http://example.com
(非SSL)和https://example.com
(SSL),那么它们都可用。
如果是这样,我是否需要创建虚拟主机?这个VirtualHost
指令怎么样,有人能给我举个例子吗? (假设我已经有证书)
答案 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>