Bootstrap

nginx配置跨域访问,无法生效

  • 问题描述

最近在配置nginx跨域问题上折腾了很长时间。网址开发通常将动态资源与静态资源分开,在A的服务器上需要去加载B服务器上的静态资源时通常就会遇到跨域的问题,如下加载字体静态文件

Access to Font at ‘http://bbb.cn/biz/fonts/iconfont.woff’ from origin ‘http://aaa.cn’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://aaa.cn’ is therefore not allowed access

控制台会说访问B服务器上的资源出现跨域问题,我们可以在nginx上配置跨域请求来解决问题。

  • 指定可以跨域访问的单网址
	server {

		listen 80;
		server_name https://bbb.cn;
		location /biz/fonts/ {
			add_header Access-Control-Allow-Origin http://aaa.cn;
			add_header Access-Control-Allow-Credentials true;
			add_header Access-Control-Allow-Methods GET;
		}
	}

  • 任何网址都可以跨域访问(为了安全通常不这么配置)
	server {

		listen 80;
		server_name https://bbb.cn;
		location /biz/fonts/ {
			add_header Access-Control-Allow-Origin * ;
			add_header
;