如何创建同时使用 http 和 https 的虚拟主机?

Bah*_*aha 8 apache-http-server virtual-host

这是我设置虚拟主机的方式:

<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>
Run Code Online (Sandbox Code Playgroud)

使用此配置,我只能使用 https 查看我的站点,而不能使用 http。当我关闭 SSLEngine 时,我无法使用 https 查看我的站点,但 http 工作正常。

如何调整上述行,以便能够同时使用 http 和 https 查看我的网站?

我使用 OSX Lion,但我认为它没有那么重要。

谢谢。

Mik*_*sch 7

您需要创建两个虚拟主机,因此:

<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>
Run Code Online (Sandbox Code Playgroud)

第一个是常规HTTP主机,而第二个处理您的HTTPS流量。