我有一个部署到AWS EC2 Web实例的laravel 5项目,位于带有ssl终止的ELB后面.
对于像资产这样的东西,Laravel默认使用当前使用的任何方案.但是,我注意到,因为https流量由ELB解密并通过http转发到EC2节点,所以Laravel认为它当前不使用https,因此使用http作为资产.这显然会造成问题.
根据我的发现,Laravel使用X_FORWARDED_PROTO标头检查这种代理设置.但是我发现这个头不存在,而是有一个HTTP_X_FORWARDED_PROTO头.在研究这个时,我发现在PHP之前预先设置"HTTP_".如果这是真的,那么Laravel为什么不检查它,因为它是一个纯粹的PHP框架?
我读过文章说要使用像Fideloper的Trusted Proxies这样的东西,但目前还不清楚为什么Laravel默认不检查这些标题.
如何配置Laravel接受HTTP_X_FORWARDED_*标头,或者将其配置为知道我当前的方案是https?