解决前后端分离同一域名前端重定向问题

解决前后端分离同一域名前端重定向问题

前端 2年前 2147 0

最近部署服务器的时候发现前后端分离后,需要部署 2 套代码在服务器上,并且还要分配 2 个域名,如果 https 的话还需要 2 个,由于公司的 https 额度不够了,想办法合并一下。

原本是想在后端代码目录下放前端代码,但是部署后发现,前端重定向页面后被后端的逻辑解析了,所以失败。

后续请求了群友后发现可以这样:

部署前端代码收到 /api 开头的请求 就转发。

例如:

server{
    listen 80;
    server_name xxx.com;
    ···

    location /api{
        #反代服务器81端口
        proxy_pass http://xxx.xxxx.xxx:81;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP         $remote_addr;
    }
}
    ···
    #BINDING-后端-START
    server
    {
        listen 81;# 这里的端口要和上面一致
        server_name xxx.com;

        ····
    }
    #BINDING-后端-END

TIP:如果以上代码配置不生效,记得服务器端口需要放行,放行后服务器顺便开了。

使用 telnet 尝试连接
telnet IP 端口

原文: http://yiqiao.me/articles/32/solve-the-front-end-and-front-end-redirection-problem

版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)