Virtual Host With SSL Support on OS X Mavericks
我在OS X 10.9(Mavericks)上运行Apache / 2.2.24的本地开发机器上设置了一些虚拟主机。
我的http-vhosts.conf文件(配置为通过httpd.conf加载,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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文件以包含以下行:
1 | 127.0.0.1 testsite2.dev |
我希望能够通过SSL(https)使用testsite2.dev。我已经尝试了vhosts配置文件的多种配置,但是没有运气。
在当前配置下,转到http://testsite2.dev会弹出我期望的页面,而https://testsite2.dev指向/Library/WebServer/Documents/index.html.en上的apache主页。
我尝试了以下配置,以及其他不起作用的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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上侦听?
我想出了办法。我只是缺少一些指令来显示我的证书和密钥的位置。这是我添加的内容:
1 2 3 4 5 6 7 | <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文件如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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/
它可以在Mountain Lion和Mavericks上使用。