原文链接 https://segmentfault.com/a/11...
什么是跨域
协议
+ 域名
+ 端口
有一处不相同时,就认为是跨域
为什么会有跨域
同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到攻击。
解决方案
- 情景1
假设网站部署在80接口,在80接口下设置反向代理,可直接解决跨域问题
location ^~/v1{
rewrite ^/v1/(.*)$ /$1 break;
proxy_pass http://localhost:8080;
}
- 情景2
假设网站部署在8081端口,api端口为8080,反向代理服务端口为80
location ^~/v1{
rewrite ^/v1/(.*)$ /$1 break;
proxy_pass http://localhost:8080;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
if ($request_method = OPTIONS){
return 200;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。