使用SSL与OSX上的Apache/Passenger配合使用
问题描述:
我在我的开发机器上使用apache/passenger,但需要添加SSL支持(不通过控制面板公开的东西)。我在制作之前就已经完成了这个工作,但由于某种原因,我似乎无法在OSX上使用它。使用SSL与OSX上的Apache/Passenger配合使用
我已经按照到此为止是从默认的Apache安装OSX:
- 安装乘客和乘客偏好设置面板。
- 添加我的导轨应用程序(此作品)
- 创建我的ca.key,server.crt和server.key作为详细的on the apple website。
在这一点上,我需要开始编辑了apache的configs,所以我说:
# Apache knows to listen on port 443 for ssl requests.
Listen 443
Listen 80
我想我会尝试编辑乘客PREF窗格中首先生成的配置使一切工作正常,当我添加:
它开始看起来像这样
<VirtualHost *:80>
ServerName myapp.local
DocumentRoot "/Users/jonnii/programming/ruby/myapp/public"
RailsEnv development
<Directory "/Users/jonnii/programming/ruby/myapp/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我再追加这一点:所有引用
<VirtualHost *:443>
ServerName myapp.local
DocumentRoot "/Users/jonnii/programming/ruby/myapp/public"
RailsEnv development
<directory "/Users/jonnii/programming/ruby/myapp/public">
Order allow,deny
Allow from all
</directory>
# SSL Configuration
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars +StrictRequire
#Self Signed certificates
SSLCertificateFile /private/etc/apache2/ssl.key/server.crt
SSLCertificateKeyFile /private/etc/apache2/ssl.key/server.key
SSLCertificateChainFile /private/etc/apache2/ssl.key/ca.crt
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>
该文件存在(我翻了一番检查了),但现在当我重新启动我的Apache我甚至不能得到myapp.local
。然而,当我点击共享首选项面板时,apache仍然可以为默认页面提供服务。
任何帮助将不胜感激。
答
我认为Apache不支持SSL的虚拟主机。您可能在某处有另一个SSL虚拟主机条目,而是正在使用。删除它,它应该工作。
答
Apache的OS X发行版包含用于启用SSL的示例配置文件:请参阅/etc/apache2/extra/httpd-ssl.conf
。只要确保配置适用于您的需求,然后找到下面的行/etc/apache2/httpd.conf
:
#Include /private/etc/apache2/extra/httpd-ssl.conf
,并通过删除octothorp取消其注释。
答
而不是定义两个虚拟主机,只需定义一个与头:
<VirtualHost *:443 *:80>
任何想法的人? – jonnii 2010-03-21 00:37:37