这是我设置虚拟主机的方法:
<VirtualHost mysite>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
使用此配置,我只能使用 https 来查看我的网站,而不能使用 http。当我关闭 SSLEngine 时,我无法使用 https 查看我的网站,但 http 可以正常工作。
我该如何调整上述行以便能够使用 http 和 https 查看我的网站?
我使用 OSX Lion,但我不认为这有太大关系。
谢谢。
答案1
您需要创建两个虚拟主机,因此:
<VirtualHost mysite:80>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
</VirtualHost>
<VirtualHost mysite:443>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
第一个是常规HTTP
主机,第二个处理您的HTTPS
流量。
答案2
您可能还想使用Include
指令,这样您就不必在两个虚拟主机之间重复配置 -http://httpd.apache.org/docs/2.2/mod/core.html#include。