nginx配置反向代理解决前后端分离跨域问题

Posted

tags:

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

摘自《AngularJS深度剖析与最佳实践》P132

nginx配置文件如下:

server {
    listen 80;
    server_name your.domain.name;
    location / {
        # 把跟路径下的请求转发给前端工具链(如gulp)打开的开发服务器
        # 如果是产品环境,则使用root等指令配置为静态文件服务器
        proxy_pass http://localhost:5000/;
    }

    location /api/ {
        # 把 /api 路径下的请求转发给真正的后端服务器
        proxy_pass http://localhost:8080/service/;
        # 把host头传过去,后端服务程序将收到your.domain.name, 否则收到的是localhost:8080
        proxy_set_header Host $http_host;
        # 把cookie中的path部分从/api替换成/service
        proxy_cookie_path /api /service;
        # 把cookie的path部分从localhost:8080替换成your.domain.name
        proxy_cookie_domain localhost:8080 your.domain.name         
    }

}   

 

配置完成后重启nginx服务:

nginx -s reload

 

以上是关于nginx配置反向代理解决前后端分离跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

Nginx反向代理解决跨域问题

Vue + SpringBoot + nginx:开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题

前后端分离了,跨域问题如何解决?

Nginx 前后端分离及跨域问题

vue cli 解决跨域 线上 nginx 反向代理配置

谈谈Nginx的反向代理