Apache2 + SSL + Proxy 到 Sinatra 应用:能用吗?还是会向用户发出一些警告?

Apache2 + SSL + Proxy 到 Sinatra 应用:能用吗?还是会向用户发出一些警告?

我遇到的情况是,主网站是一个用 ColdFusion 编写的旧版应用程序,我最近将其从 MX 6.1 迁移到了 9.0.1。网站的另一部分是 WordPress 上用 PHP5 编写的博客/论坛。现在,我正在添加付费会员功能,并使用 Ruby 和 Sinatra 与 Chargify V2 API 集成。有趣吧?无论如何,现在我已经开始使用 mod-proxy 将请求从主 CF 站点上的某个子目录发送到 Sinatra 应用程序。这在 HTTP;端口 80 到端口 9292 上工作正常。但是当我尝试使用 HTTPS;端口 443 到端口 9292 时会发生什么?我目前没有此主机的证书,因为过去不需要证书,所以我不确定如何进行实验。我只是想确保浏览器不会抱怨这种非正统的安排。我实际上并不担心表单提交是否安全,因为应用程序是在不使用 SSL 的情况下对其进行加密的。我使用 SSL 的唯一原因是为了用户信任。因此,最重要的是浏览器不会出现任何可能降低用户信任度(进而降低转化率)的投诉。

答案1

用户不知道代理服务器和后端服务器之间的连接未加密;他们的连接仅与代理建立。但是,我不能责怪您的用户不信任 SSL 之外的表单数据加密 - 我也不会!

无论如何,除非您绝对确定代理和后端之间的流量是安全的,否则您不应该以这种方式部署 HTTPS 代理到 HTTP 系统。例如,如果任何用户(而不仅仅是服务器)都可以访问该广播域,他们就可以轻松地使用 ARP 毒药并捕获该流量。

如果存在发生这种情况的任何风险,那么请使用 SSL 进行代理和后端之间的通信 - 设置它不需要花费太多精力。

要开始测试用例,您只需设置自签名证书并启动 SSL 侦听器。

Listen 443
<VirtualHost *:443>
    ServerName ssl.example.com
    SSLEngine On
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/cert.key
    ProxyPass / http://backend:9292/
    ProxyPassReverse / http://backend:9292/
</VirtualHost>

相关内容