Nginx CORS Access-Control-Allow-Origin跨域的四种模式

Nginx允许配置Access-Control-Allow-Origin(CORS)解决跨域问题,单纯的ajax请求跨域jsonp则更灵活。

Nginx subdomain CORS with Access-Control-Allow-Origin,Nginx通过配置解决跨域问题

匹配单域名模式(single)

server {
    server_name cs.xieyonghui.com
   
    location / {
        add_header Access-Control-Allow-Origin https://xieyonghui.com;          
    }

    listen 80;
}

通配模式

add_header Access-Control-Allow-Origin *;

匹配https和http模式

add_header Access-Control-Allow-Origin: http://xieyonghui.com;,https://xieyonghui.com;

或者

add_header Access-Control-Allow-Origin: http://xieyonghui.com;
add_header Access-Control-Allow-Origin: https://xieyonghui.com;

或者更加通配的模式

if ($http_origin ~* "^https?://cs\.xieyonghui\.com$" ) {
    add_header Access-Control-Allow-Origin $http_origin;
}

以上通配模式并非百分百有效,需要实地测试。