解决Nginx静态资源跨域问题

报错:

Access to Font at 'http://xxx:8089/resource_static/console/hello.ttf' from origin 'http://xxx:8089' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx:8080' is therefore not allowed access.

方法1:
server中新增:
通用方式:

add_header 'Access-Control-Allow-Origin' '*';

or

add_header Access-Control-Allow-Origin *;
 
add_header Access-Control-Allow-Headers X-Requested-With;
 
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

例如:

server {
        listen       80;
        add_header 'Access-Control-Allow-Origin' '*';
        location /file/ {
            root   /img;
            autoindex on;
        }
    }

方法2:
location中新增配置:

 add_header 'Access-Control-Allow-Origin' '*';
 add_header 'Access-Control-Allow-Credentials' 'true';
 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
 add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

例如:

server {
        listen       80;
        location /file/ {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
            root   /img;
            autoindex on;
        }
    }

其他:
Apache支持跨域

    ServerName www.statics.xxx.io
 
    DocumentRoot E:/project/xxx/statics
 
    Header set Access-Control-Allow-Origin *
 
    Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
 
    Header set Access-Control-Allow-Headers "Content-Type"
 
    Options +Indexes +Includes +FollowSymLinks +MultiViews
 
    AllowOverride All

你可能感兴趣的:(运维,nginx,java,服务器)