让SSL在OSX上与Apache/Passenger协同工作
我在我的开发机器上使用apache/passenger,但需要添加SSL支持(控制面板中没有公开的东西)。我以前在生产中做过,但由于某些原因,我似乎无法在OSX上使用它 到目前为止,我遵循的步骤是默认的apache osx安装:让SSL在OSX上与Apache/Passenger协同工作,apache,macos,ssl,passenger,Apache,Macos,Ssl,Passenger,我在我的开发机器上使用apache/passenger,但需要添加SSL支持(控制面板中没有公开的东西)。我以前在生产中做过,但由于某些原因,我似乎无法在OSX上使用它 到目前为止,我遵循的步骤是默认的apache osx安装: 安装乘客和乘客偏好窗格 添加我的rails应用程序(此应用程序有效) 按照详细说明创建我的ca.key、server.crt和server.key 此时,我需要开始编辑apache配置,因此我添加了: # Apache knows to listen on port 4
# Apache knows to listen on port 443 for ssl requests.
Listen 443
Listen 80
当我添加以下内容时,我想我应该首先尝试编辑乘客优先权窗格生成的配置,以使所有内容正常工作:
一开始是这样的
<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>
ServerName myapp.local
DocumentRoot“/Users/jonnii/programming/ruby/myapp/public”
RailsEnv开发
命令允许,拒绝
通融
然后,我附加以下内容:
ServerName myapp.local
DocumentRoot“/Users/jonnii/programming/ruby/myapp/public”
RailsEnv开发
命令允许,拒绝
通融
#SSL配置
斯伦金安
SSLCipherSuite全部:!ADH:!出口56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLOptions+FakeBasicAuth+ExportCertData+StdEnvVars+StrictRequire
#自签名证书
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用户代理“*MSIE.*”nokeepalive ssl不干净关机降级-1.0强制响应-1.0
所有引用的文件都存在(我检查了两次),但现在当我重新启动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
并通过删除OctorOp来取消注释。而不是定义两个虚拟主机,只需定义一个带有标题的虚拟主机:
<VirtualHost *:443 *:80>
<VirtualHost *:443 *:80>