我使用以下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知道证书还是那样的我好吗? (这很好,因为它很简单,而且必须更快,因为不需要两次解密)
答案 0 :(得分:0)
如果服务器完全由您控制,并且您的上游流量从未离开服务器(我还建议切换到unix套接字以获得额外的安全性和一些性能),则无需加密。