跨域应该来说是目前前后端分离场景经常要用到的需求了。

这里不做过多的介绍了,直接给出nginx解决跨域的配置文件。

虚拟主机配置如下:

server {  
    #端口
    listen  80; 
    
    # 接口常用的前缀,也是接口需要跨域配置
    location /api{
            
        if ($request_method = 'OPTIONS') {
           add_header Access-Control-Allow-Origin '*';
           add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE';
           add_header Access-Control-Allow-Headers 'Accept,Referer,Sec-Fetch-Dest,User-Agent,x-crsf-token,token,OPENID,Content-Type,Authorization';

           return 204;
        }
        # 这里可以加上允许所有头"*",也可以分开配置允许哪些请求method
        #add_header Access-Control-Allow-Origin '*';
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE';
        add_header Access-Control-Allow-Headers 'Accept,Referer,Sec-Fetch-Dest,User-Agent,x-crsf-token,token,OPENID,Content-Type,Authorization';

    }  
   
  # 这里不需要配置跨域
    location / {
      root /data/www/yxjc123;
   }  

} 

重启我们的nginx服务,查看效果:

nginx 跨域配置