脚本
我通过nginx运行Phusion Passenger。
我已经configurationnginx使用SSL并将所有HTTP通信重新路由到HTTPS。
我是否还需要在Rails应用程序中启用force_ssl选项?
如果是这样,为什么和有什么优势?
如果我没有启用它,我会提出什么安全风险?
nginxconfiguration:
server { listen 80; server_name myapp.com rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 ssl; server_name myapp.com; ssl_certificate /etc/ssl/certs/nginx.pem; ssl_certificate_key /etc/ssl/certs/nginx.key; root /home/user/rails/app/public; passenger_enabled on; }
force_ssl选项与nginx重写规则完成相同的功能,因此不需要force_ssl选项。 force_ssl可以为您提供更多的粒度,例如在特定的子域或特定的部署环境中更容易地要求使用SSL。 如果你更喜欢在Rails中而不是在nginx中进行这种配置,那也可能会更好。 但是,它不会给你任何额外的安全。