如何在nginx反向代理后面的CakePHP中安全地检测SSL?
CakePHP(我见过的所有版本)检查$_SERVER [‘HTTPS’]以查看是否通过HTTPS而不是普通HTTP发出了请求. 我正在使用nginx作为负载均衡器,其后面是Apache应用服务器.由于SSL连接在负载均衡器处终止,因此就CakePHP而言,未设置$_SERVER [‘HTTPS’]. 我想找到一种在应用服务器上检测HTTPS的安全方法. 到目前为止,我已经将它放入我的CakePHP配置中:
然后在nginx配置中,我使用了proxy_set_header X-Forwarded-Proto https;将标志添加到负载均衡器和后端应用程序服务器之间的任何请求. 这完全没问题,但任何向应用程序服务器发出直接请求的人都可能会欺骗他们认为他们正在浏览SSL而不是.我不确定这是否存在安全风险,但这似乎不是一个好主意. 这是安全风险吗?什么是更好的解决方案? 由于使用X-Forwarded-Proto似乎是something of a standard,因此该解决方案可能是提交给CakePHP核心的一个很好的补丁,所以我认为任何答案都可以合法地涉及编辑核心文件. 最佳答案 mod_rpaf会让你这样做. 这会根据nginx发送的标头将Apache中的HTTPS值设置为“on”,这样Cake就可以开箱即用(以及在Apache中运行的任何其他应用程序). 它还会更正REMOTE_ADDR,SERVER_PORT和HTTP_HOST的值. 这是我的示例配置: (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何以非root用户身份运行gunicorn/python app服
- 使用Meteor-Up,SSL和NGINX将Meteor部署到生产环境
- nginx – 哪种方式更好地重定向以及为什么
- php – Nginx – Rails中的WordPress博客使用mim
- mysql – 什么可能导致Rails创建重复记录?
- 使用uwsgi和nginx部署Flask应用程序
- ruby-on-rails-4-Rails域约束(服务于多个域)
- django-通过nginx服务于演出和生产现场吗?
- nginx – 提供由PHP生成的自定义404页面
- nginx – [emerg] bind()到0.0.0.0:80失败(98:地