合 Nginx配置跨域访问
Tags: NginxAccess-Control-Allow-Origin跨域访问
什么是跨域访问
在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的。跨域访问违反了同源策略,同源策略规定,浏览器的ajax只能访问跟它的HTML页面同源(相同域名或IP的资源)。
如何确定是跨域请求
- A域名资源请求到B/C……域名
- 你当前访问的域名是http的,但请求的部分资源是https的
- 当使用ajax访问远程服务器时,请求失败,浏览器报如上错误。这是出于安全的考虑,默认禁止跨域访问导致的。
如果是跨域访问,这时候就会报错
has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
错误场景如:我的WordPress报错:Fonts –No 'Access-Control-Allow-Origin',已经提示我字体文件请求http url跨域了,然后根据我用的服务环境设置如下就行,参考:https://www.uedbox.com/post/50992/
Nginx跨域设置No Access-Control-Allow-Origin无效的解决办法
报错:Access to font at 'https://pic.xmmup.com/i/resource/iconfont.ttf?t=1501323857226' from origin 'https://www.xmmup.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
不能加载字体或图片
解决方案:在Nginx中配置: