跨域这个词不管是在面试还是在项目开发中如狗皮膏药一般无处不在
一、什么是跨域?
是一个域的网页与另一个域的资源进行交互,是一种安全策略。
二、跨域问题由什么造成的?
由浏览器的同源策略所造成的
同源策略,是浏览器对 JavaScript 实施的安全限制,只要协议、域名、端口
有任何一个不同,都被当作是不同的域。
跨域原理,即是通过各种方式,避开浏览器的安全限制
。
三、解决方案
目前主要使用的就是proxy代理,在服务器设置nginx反向代理配置
Nginx 作为一种高效的反向代理服务器,其工作原理与 Node.js 中间件代理相似,它允许开发者搭建一个中转服务器来转发请求。通过 Nginx 实现反向代理,可以轻松地解决跨域问题,这是一种简便且高效的解决方案。
具体来说,通过修改 Nginx 的配置文件,可以设置反向代理,将请求从一个服务器转发到另一个服务器。这种方式不仅适用于所有主流浏览器,而且支持 session 管理,无需对现有代码进行任何修改,也不会对服务器性能产生负面影响。
操作步骤如下:
1、在 Nginx 配置文件中,为需要代理的每个服务设置一个特定的前缀。
2、配置 Nginx 将这些前缀的 HTTP/HTTPS 请求转发到对应的真实服务器。
3、通过这种方式,所有通过 Nginx 转发的 URL 都将具有相同的域名、协议和端口号,从而满足浏览器的同源策略要求。
上文借鉴了Nginx知识:原文链接:https://blog.csdn.net/weixin_51484460/article/details/139456911