跨域请求失败No 'Access-Control-Allow-Origin' header

 8 2019-09-10 12:54:53 字数 854 阅读 8 评论 0 喜欢 0

搭建博客的时候发现请求一些字体时报错:
No ‘Access-Control-Allow-Origin’ header

我用的是nginx。
当前网页域名是www.hbmu.xyz,而请求的资源在hbmu.xyz。
只需要将字体文件的连接域名改一下就可以。
但因为那些字体文件是在css、js里动态加载的,所以我懒得找。

在网上找到的解决办法是修改配置,添加Access-Control-Allow-Origin。
网上给了一大堆,但是我试了好多也没成功!!!

最后我直接试了一个最简单粗暴的。

首先,找到 nginx.conf,这是nginx的配置文件。
打开之后它的结构大概是这样:

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events{
    ......
}

http{
    ......

    server{
        ......
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${
            ......
        }
        location ~ .*\.(js|css)?${
            ......
        }
        location ~ /\.
        {
            deny all;
        }
    }
}

网上给出的办法是在server下加上

location ~* \.(eot|ttf|woff|woff2|svg)$ {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}

然而我试了之后没用,最后我的解决办法是直接在http下加上:

add_header Access-Control-Allow-Origin *;

直接写在http下,不用写在server里。

喜欢 0

发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项

网友评论0