Nginx解决跨域问题

Posted JaxYoun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx解决跨域问题相关的知识,希望对你有一定的参考价值。

  1. 前后端分离项目,优先使用nginx同域部署
  2. 不能同域部署的势必会跨域,此时则需要用Nginx给后端项目做反向代理,做还有额外配置:
location / {
	# 1.针对复杂请求,的前导OPTIONS请求,采取一律放行政策,Nginx拦截后直接返回200,不打到后端接口,避免后端认证等问题(因为OPTIONS请求不支持自定义头)
        if ($request_method = ‘OPTIONS‘) {
                return 200;
        }

        # 2.文件上传大小限制
        client_max_body_size 3g;

        # 3.给所有请求添加响应头,主要是允许跨域
        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 ‘origin,Authorization,Cache-Control,Content-Type‘;
        
        # 4.后端反向代理
        proxy_pass http://192.168.50.87:8090;
}

以上是关于Nginx解决跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

nginx反向代理解决跨域

使用nginx代理解决跨域问题

nginx配置解决前端跨域问题

Nginx 设置cors跨域

Nginx 设置cors跨域

nginx配置反向代理解决vue跨域问题