利用 Nginx 處理 Vue 開發環境的跨域

1. 需求

本地測試域名與線上域名相同,以便正確傳遞 Cookie 和進行 SSO 測試。vue

注:因爲 SSO 登陸後,相關 Cookie 被加在四級域名上,於是須要作到本地測試域名和線上接口域名相同。api

2. 方案

配置 Host 文件使線上域名指向 Localhost:測試

127.0.0.1 product.xxx.xxx.com

配置 Nginx 進行對應轉發:code

server {
    listen       80;
    listen       [::]:80;
    server_name  ${product.xxx.xxx.com};

    location /api {
        proxy_pass https://${ip.ip.ip.ip};
        proxy_set_header Host $host;
    }

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
    }    
}

配置 vue.config.js 以避免出現 Invalid Host header 報錯:server

{
    devServer: {
        disableHostCheck: true
    }
}
相關文章
相關標籤/搜索