nginx 配置资源跨域

本贴最后更新于 273 天前,其中的信息可能已经时移世易

windows 和 Linux 都一样操作,到 nginx 的安装目录 nginx/conf 下,找到 nginx.conf 文件,用记事本打开。
在一个 sever 内部加上如下代码:

        add_header 'Access-Control-Allow-Origin' '*';
	add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
	add_header 'Access-Control-Allow-Headers' 'Content-Type';

例如,这样加(各自服务器配置不同,看情况添加):

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location ~.(html|js|css|png|gif|pdf)$ {
            root   html;
            index  index.html index.htm;
	
        }
        location / {
            root   html;
            index  index.html index.htm;
            add_header 'Access-Control-Allow-Origin' '*';
	    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
	    add_header 'Access-Control-Allow-Headers' 'Content-Type';
        }

然后重启 nginx 就行了。

注意:
这个跨域配置不能配置多个,只能配置一个。如果你的服务器其他 Web 服务也配置了跨域,那 nginx 就不要配置了。

否则还是会报跨域:

The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.

其中:Access-Control-Allow-Origin * 中的*可以换成域名,意思是只对这个域名开放跨域,如果要开放多个域名,就用英文逗号,连接。如果用*,就代表任何域名都可以请求服务器资源。
例如:

Access-Control-Allow-Origin  www.baidu.com,www.taobao.com
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    264 引用 • 516 回帖 • 538 关注
  • 跨域
    17 引用 • 95 回帖

赞助商 我要投放

回帖
请输入回帖内容 ...