【发布时间】:2015-07-11 14:26:36
【问题描述】:
我有一个 laravel 5 项目部署到 AWS EC2 Web 实例,位于带有 ssl 终止的 ELB 后面。
对于资产之类的东西,Laravel 默认使用当前使用的任何方案。但是,我注意到由于 https 流量由 ELB 解密并通过 http 转发到 EC2 节点,Laravel 认为它当前不使用 https,因此使用 http 作为资产。这显然会导致问题。
根据我的发现,Laravel 使用 X_FORWARDED_PROTO 标头检查这种代理设置。但是我发现这个标头不存在,而是有一个 HTTP_X_FORWARDED_PROTO 标头。在researching this 中,我发现添加“HTTP_”是php 所做的。如果这是真的,那为什么 Laravel 不检查它,因为它是一个纯粹的 php 框架?
我读过文章说要使用 Fideloper's Trusted Proxies 之类的东西,但不清楚为什么 Laravel 默认不检查这些标头。
如何配置 Laravel 以接受 HTTP_X_FORWARDED_* 标头,或者以其他方式配置它以了解我当前的方案是 https?
【问题讨论】:
标签: php laravel ssl laravel-5 load-balancing