今天小编给大家分享一下如何处理Vue开发环境的跨域问题的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1. 需求
本地测试域名与线上域名相同,以便正确传递 cookie 和进行 sso 测试。
注:由于 sso 登录后,相关 cookie 被加在四级域名上,因而需要做到本地测试域名和线上接口域名相同。
2. 方案
配置 host 文件使线上域名指向 localhost:
127.0.0.1 product.xxx.xxx.com
配置 nginx 进行对应转发:
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 报错:
{ devserver: { disablehostcheck: true } }