如何在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的值. 这是我的示例配置: (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails-与ws://example.com/cable的WebSocket连接失
- ruby-on-rails – 资产不适用于RoR 4,Nginx,Unicorn
- 使用Meteor-Up,SSL和NGINX将Meteor部署到生产环境
- apache-Nginx反向代理配置
- nginx – 提供由PHP生成的自定义404页面
- linux – 如果使用NGINX找不到文件,如何重写
- linux – ‘没有包nginx可用’错误CentOS 6.5
- ubuntu-除非root用户,否则uWSGI Emperor权限被拒绝
- php – Apache和Nginx都在端口80
- Nginx作为反向代理服务301
- 在Nginx中解释limit_conn_zone $server_name
- 为nginx中的上游所有服务器设置max_fails和fail_
- python – 如何在执行模式下使用SELinux运行Flas
- linux – ‘没有包nginx可用’错误CentOS 6.5
- 使用Meteor-Up,SSL和NGINX将Meteor部署到生产环境
- /etc/nginx/nginx.conf:76中的未知指令“ rtmp”
- ubuntu – 如何调试为什么我的服务器在每个请求n
- AWS EC2,Nginx SSL问题
- Nginx在vhost和SSL之间发出问题
- python – 在Nginx反向代理POST请求后面的Cherry