美文网首页
前后端分离,nginx解决跨域问题

前后端分离,nginx解决跨域问题

作者: swensun | 来源:发表于2018-01-02 09:44 被阅读314次

    问题描述:

    前端react-app使用nginx部署到服务器,浏览器访问80端口,页面请求同一服务器的后台api,由于端口不同,产生跨域。(域名不同也会跨域)

    解决

    nginx修改,在监听80端口的同时,对前端的请求转发的实际的后台服务。

    //nginx 部分修改
    server {
            listen 80;
            server_name  localhost;
            
            location / {
                root   /webserver;
                index  index.html index.htm;
                autoindex on;
                autoindex_exact_size on;
                autoindex_localtime on;
            }
            location /api/ {
                proxy_pass  http://120.78.202.210:7001/;
            }
        }
    

    如上,将前端/api 下的请求转发到配置地址。

    //前端代码修改
    const getData = () => {
        axios.get("http://120.78.202.210/api/v1/zhihu/topimage/")
            .then(res => {
                console.log(res)
            }).catch(res => {
            console.log(res)
        })
    }
    

    如上,由于直接请求"http://120.78.202.210:7001/v1/zhihu/topimage/端口不同导致跨域,因此修改全部请求代码,将/api/下的请求转发到实际的服务器。

    若是本地调试,可以添加chrome扩展。


    image.png

    相关文章

      网友评论

          本文标题:前后端分离,nginx解决跨域问题

          本文链接:https://www.haomeiwen.com/subject/wogxnxtx.html