配置代码片

CORS允许跨域

用于前端请求后端时接口报错 CORS 跨域,快速便捷一刀切。更推荐前端工程化开发,如(Vue/React)使用 proxy 代理请求。

可能被跨域攻击,所以更推荐用前端代理解决。

location / {  
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
    }
} 

 
 
 
 
 
 
 

反向代理

常用于如你的后端是 node 服务,而通过 nginx 转发你的请求。

location / {
	proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8004;
}

 
 
 

反向代理CSRF验证失败

常见于反向代理中,后端是 HTTP 协议,而 NginxSSL 协议 导致的 CSRF 验证失败。

location / {
    proxy_set_header Host $host;
    # 表示请求是通过 SSL/TLS 传输的
    proxy_set_header X-Forwarded-Ssl on;
    proxy_pass http://localhost:8000;
}

 
 
 


上传限制 (413 ...too large)

413 request entity too large

请求体太大,超出限制

# 1. 在 http、server、location 中放
client_max_body_size 1024m

# 2. 增加连接超时时间(秒)
keepalive_timeout 120

 


 

Tip

http、server、location 是不同的作用域,按需求填入即可。

  • http:全局
  • server:单网站
  • location:单应用
Last Updated:
Contributors: 余小波