SSL/HTTPS 对 Mongrel 有帮助吗?

SSL/HTTPS 对 Mongrel 有帮助吗?

我已经到处寻找了,但要么找不到任何东西,要么找不到任何有用的东西...所以我来了。

我该如何针对 Mongrel 设置 SSL/HTTPS?

提前致谢!

答案1

您首先通过真正的 Web 服务器(如 nginx 或 Apache)运行它,它会为您完成 SSL 工作,然后传回一个标头,说明连接是否通过 SSL 建立(仅在您执行诸如在没有 SSL 的情况下访问需要安全的页面时进行重定向等操作时才重要)。

从理论上讲,我猜你可以把 stunnel 放在 mongrel 前面然后这样做,但是不这样做的原因非常严重而且可怕,所以就不要这样做。

答案2

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

答案3

我为此苦苦挣扎了一段时间。Mongrel 更喜欢“Ruby 方式”,这与 Apache 方式不同。

配置 Apache HTTP 以提供 HTTPS 流量。然后在后端代理纯文本/HTTP 连接。

  1. 安装 mod_proxy。我实际上必须重新编译 httpd 以包含代理支持。

    加载模块代理模块模块/mod_proxy.so

    加载模块 proxy_http_module 模块/mod_proxy_http.so

    加载模块 proxy_connect_module 模块/mod_proxy_connect.so

  2. 使用 mod_rewrite 的 [proxy] 参数将所有流量重写到 Mongrel 主机。我的主机是 VirtualHost,名称为“ruby.example.org”。

    重写规则 ^/(.*)http://127.0.0.1:3000/$1 [代理]

  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>

相关内容