海外主机测评

您现在的位置是:首页 > 国外服务器 > 正文

国外服务器

nginx解决跨域问题!

cds8202023-02-10国外服务器207
本站教程收集整理的这篇文章主要介绍了nginx解决跨域问题!,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

本站教程收集整理的这篇文章主要介绍了nginx解决跨域问题!,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

1、问题背景:前端调用线上后段时出现跨域问题!

解决方法Nginx的LOCATiON头部增加配置:

? ? ? ? ? ? ? ? ?add_header 'Access-Control-Allow-Headers' '*';
? ? ? ? ? ? ? ? ?add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,HEAD,PUT';
? ? ? ? ? ? ? ? ?add_header 'Access-Control-Allow-Origin' '*';
? ? ? ? ? ? ? ? ?add_header 'Access-Control-Allow-Credentials' 'true'
本地前端调用php接口时需在后端的?LOCATIOn字段都加配置。

?

2、当出现403跨域错误的时候?No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数:

解决方案:

LOCATIOn / {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers "Origin, X-requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
}
?

3、Ajax跨域请求保证同一个session的问题

我们知道,根据浏览器的保护规则,跨域的时候我们创建的sessionId是不会被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的sessionId就不会被保存下来,也就是说,每一次的请求,服务器就会以为是一个新的人,而不是同一个人,为了解决这样的办法,下面这种方法可以解决这种跨域的办法。

?

我们自己构建一个拦截器,对需要跨域访问的request头部重写:

add_header Access-Control-Allow-Origin "$http_origin";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "Origin, Accept, No-Cache, X-requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token";
add_header Access-Control-Allow-Credentials "true";
?

原文链接:https://blog.csdn.net/weixin_42207486/java/article/details/82494638

本站总结

以上是本站教程为你收集整理的nginx解决跨域问题!全部内容,希望文章能够帮你解决nginx解决跨域问题!所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

《nginx解决跨域问题!》来自互联网同行内容,若有侵权,请联系我们删除!

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~