nginx跨域配置-亲测


nginx搭建一个文件服务器
简书地址

如题的blog可能一搜一大篇,但是每次似乎都要试不止一个才会配置出自己的。
每次好像还都会看看博主关于原理的介绍,尤其是按照文章配置了,还是没有生效的时候。

多余一句解释都不要了,这次趁着热乎劲,把自己的配置保存一下,一定好用。


server {
    listen 8099;
    server_name localhost;

    location / {
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:18080/;
        client_max_body_size 100m;

        #   指定允许跨域的方法,*代表所有
        add_header Access-Control-Allow-Methods *;

        #   预检命令的缓存,如果不缓存每次会发送两次请求
        add_header Access-Control-Max-Age 3600;
        #   带cookie请求需要加上这个字段,并设置为true
        add_header Access-Control-Allow-Credentials true;

        #   表示允许这个域跨域调用(客户端发送请求的域名和端口)
        #   $http_origin动态获取请求客户端请求的域   不用*的原因是带cookie的请求不支持*号
        add_header Access-Control-Allow-Origin $http_origin;

        #   表示请求头的字段 动态获取
        add_header Access-Control-Allow-Headers
        $http_access_control_request_headers;

        #   OPTIONS预检命令,预检命令通过时才发送请求
        #   检查请求的类型是不是预检命令
        if ($request_method = OPTIONS){
            return 200;
        }

    }
}

只此一处,nginx.conf不做任何多余的修改,不成功,接受喷。


评论
  目录