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