我在我的开发机器上使用apache / passenger,但需要添加SSL支持(通过控制面板不公开的东西)。 我之前在生产中已经完成了这个工作,但由于某种原因,我似乎无法在OSX上正常工作。
到目前为止,我所遵循的步骤来自默认的apache osx安装:
安装乘客和乘客偏好窗格。
添加我的rails应用程序(这个工程)
创build我的ca.key,server.crt和server.key 在苹果网站上详细。
在这一点上,我需要开始编辑Apache的configuration,所以我补充说:
# Apache kNows to listen on port 443 for ssl requests. Listen 443 Listen 80
我想我会尝试编辑乘客pref窗格生成的configuration首先让一切工作,当我补充:
Apache对POST请求大小的限制
我如何重新编译Nginx
该网站负载很重+ ROR
/etc/init.d/Nginx不可执行
rvmsudo passenger-install-Nginx-module:没有这样的文件或目录
它开始看起来像这样
<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仍然可以服务于默认页面。
任何帮助将不胜感激。
如何使用乘客在Nginx服务器上部署Rails项目?
使用Passenger和Nginx将Rails应用程序部署到子URI?
无法让Passenger在分级环境中启动Rails 4应用程序
Passenger + Nginx + Node(Meteor)100%的cpu使用率
即使在重新启动后,我怎样才能保持乘客的独立性?
我认为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>