我一直在寻找,或者我找不到任何东西,或者我找不到任何有效的东西…所以我就在这里。
我怎样才能设置关于Mongrel的SSL / HTTPS?
提前致谢!
你首先通过一个真正的networking服务器来运行它,比如nginx或Apache,它为你做SSL工作,然后传回一个标题,说明连接是否是通过SSL进行的(只有当你正在做redirectif没有SSL的情况下访问需要保护的页面)。
从理论上讲,我想你可以在混杂的面前坚持通道,这样做的原因不是很大,很可怕,所以不要。
当然应该注意的是,Mongrel只是“不做”SSL本身。
我挣扎了一会儿。 Mongrel更喜欢“The Ruby Way”,这与Apache的方式不同。
configurationApache HTTP以提供HTTPS通信。 然后在后端代理明文/ HTTP连接。
安装mod_proxy。 我实际上不得不重新编译httpd来包含代理支持。
LoadModule proxy_module modules / mod_proxy.so
LoadModule proxy_http_module modules / mod_proxy_http.so
LoadModule proxy_connect_module modules / mod_proxy_connect.so
使用mod_rewrite的[proxy]参数来重写Mongrel主机的所有stream量。 我的主机是一个VirtualHost,名字像“ruby.example.org”。
RewriteRule ^ /(。*)http://127.0.0.1:3000/ $ 1 [proxy]
限制对代理的访问。 请参阅httpd.apache.org/docs/2.2/mod/mod_proxy.html#access
<Proxy *> Order Deny,Allow Deny from all # Restrict access from my local network Allow from 192.168.0 </Proxy>