6

我在 OS X 10.9 (Mavericks) 上运行 Apache/2.2.24 的本地开发机器上设置了一些虚拟主机。

我的 http-vhosts.conf 文件(配置为通过 httpd.conf 加载,如下所示:

NameVirtualHost *:80

<VirtualHost *:80>
   DocumentRoot "/Library/WebServer/Documents"
   ServerName localhost
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "/Users/me/Sites/testsite.com
   ServerName testsite.dev
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "/Users/me/Sites/testsite2.com
   ServerName testsite2.dev
</VirtualHost>

我还配置了我的 /etc/vhosts 文件以包含这一行:

127.0.0.1       testsite2.dev

我希望能够通过 SSL (https) 使用 testsite2.dev。我尝试了多个 vhosts 配置文件的配置,但没有成功。

使用此当前配置,转到http://testsite2.dev会拉出我期望的页面,而https://testsite2.dev指向 /Library/WebServer/Documents/index.html.en 的 apache 主页

我尝试了以下配置以及其他多种配置,但它们不起作用:

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
   DocumentRoot "/Library/WebServer/Documents"
   ServerName localhost
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "/Users/me/Sites/testsite.com
   ServerName testsite.dev
</VirtualHost>

<VirtualHost *:80 *:443>
   DocumentRoot "/Users/me/Sites/testsite2.com
   ServerName testsite2.dev
</VirtualHost>

是否可以让虚拟主机在本地计算机上的端口 80 和端口 443 上进行侦听?

4

1 回答 1

15

我想出了如何做到这一点。我只是缺少一些指令来显示我的证书和密钥所在的位置。这是我添加的内容:

<VirtualHost *:443>
   SSLEngine on
   SSLCertificateFile /private/etc/apache2/ssl/server.crt
   SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
   DocumentRoot "/Users/me/Sites/testsite2.com"
   ServerName testsite2.dev
</VirtualHost>

在上下文中显示,我的 http-vhosts.conf 文件如下所示:

Listen  *:443
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
   DocumentRoot "/Library/WebServer/Documents"
   ServerName localhost
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "/Users/me/Sites/testsite.com
   ServerName testsite.dev
</VirtualHost>

<VirtualHost *:443>
   SSLEngine on
   SSLCertificateFile /private/etc/apache2/ssl/server.crt
   SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
   DocumentRoot "/Users/me/Sites/testsite2.com"
   ServerName testsite2.dev
</VirtualHost>

如果您没有安装证书和密钥,您可以按照如下教程创建自己的:

http://www.cfdad.com/2012/12/12/creating-a-self-signed-ssl-cert-for-mac-osx-mountain-lion-apache/

它应该适用于山狮和小牛队。

于 2013-11-08T15:54:12.283 回答