有关Mongrel的SSL / HTTPS帮助?

我一直在寻找,或者我找不到任何东西,或者我找不到任何有效的东西…所以我就在这里。

我怎样才能设置关于Mongrel的SSL / HTTPS?

提前致谢!

你首先通过一个真正的networking服务器来运行它,比如nginx或Apache,它为你做SSL工作,然后传回一个标题,说明连接是否是通过SSL进行的(只有当你正在做redirectif没有SSL的情况下访问需要保护的页面)。

从理论上讲,我想你可以在混杂的面前坚持通道,这样做的原因不是很大,很可怕,所以不要。

当然应该注意的是,Mongrel只是“不做”SSL本身。

我挣扎了一会儿。 Mongrel更喜欢“The Ruby Way”,这与Apache的方式不同。

configurationApache HTTP以提供HTTPS通信。 然后在后端代理明文/ HTTP连接。

  1. 安装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

  2. 使用mod_rewrite的[proxy]参数来重写Mongrel主机的所有stream量。 我的主机是一个VirtualHost,名字像“ruby.example.org”。

    RewriteRule ^ /(。*)http://127.0.0.1:3000/ $ 1 [proxy]

  3. 限制对代理的访问。 请参阅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>