安全性:Rails + Nginx HTTPS,我应该使用https进行proxy_pass吗?

时间:2016-04-08 16:31:26

标签: ruby-on-rails nginx

我使用以下Nginx配置成功将我的Rails应用程序移动到https:

upstream example_staging {
  server                localhost:3000;
}

server {

  listen 443 ssl;
  server_name           example.com;

  location / {
    proxy_pass          http://example_staging;
    proxy_read_timeout  90;
  }
  ssl_certificate /etc/letsencrypt/live/staging.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/staging.example.com/privkey.pem;
  # other configs ...
}

好处是我不需要在Rails中进行任何更改,因为它仍在接收http查询。

但是我想知道是否存在安全漏洞......就像cookie /会话加密可能会受到威胁?

我应该这样做:

location / {
  proxy_pass          https://example_staging; # with HTTPS
  proxy_read_timeout  90;
}

让Rails知道证书还是那样的我好吗? (这很好,因为它很简单,而且必须更快,因为不需要两次解密)

1 个答案:

答案 0 :(得分:0)

如果服务器完全由您控制,并且您的上游流量从未离开服务器(我还建议切换到unix套接字以获得额外的安全性和一些性能),则无需加密。