Laravel 5.x HTTPS反向代理的实现


需求

可针对多个域名设置HTTPS并指向到同一个项目。
最先考虑到的是通过nginx的反向代理来实现,最终测试发现效果并不完美。
示例如下:

server {
listen 127.0.0.1:8080;
root /path/to/application;
index index.html index.php;
...php config;
}
server {
listen 80;
listen 443 ssl;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host; # 设置Host
proxy_set_header X-Forwarded-For $remote_addr; # 设置请求源地址
proxy_set_header X-Forwarded-Proto $scheme; # 设置Http协议
... proxy header config;
}
...ssl config
}

实现后访问一般的接口是没有问题的,但是在项目内部由于认为请求协议是HTTP而不是HTTPS会导致通过框架生成的链接为HTTP协议。

解决方案

  1. 在Laravel 5.5.x 可通过参照官方文档 进行设置白名单
  2. 在Laravel 5.4.x 可通过安装插件设置代理白名单来实现


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM