nginx解决前端请求第三方接口跨域问题!

在项目中遇到过这样一个需求,请求第三方的接口,直接使用第三方接口访问的话,会出现下面的提示,也就是跨域。

nginx解决前端请求第三方接口跨域问题!_第1张图片

上面是直接使用第三方地址访问。

浏览器弹出的提示。

这种情况可以通过nginx反向代理实现跨域,nginx的版本是1.17.1,步骤如下:

1.打开nginx.conf配置文件,把原来server里面的这段

        location / {
            root   html;
            index  index.html index.htm;
        }

替换成:

        location / {
            proxy_pass https://www.runoob.com/try/ajax/demo_axios_post.php;
            add_header 'Access-Control-Allow-Origin' '*'; 
            add_header 'Access-Control-Allow-Credentials' 'true'; 
        }

默认的nginx的端口是80,上面的意思也就是说加了一个替代层,把非同源的服务替换成同源的,即:https://www.runoob.com/try/ajax/demo_axios_post.php===localhost:80(127.0.0.1:80)。

2.按照上面的步骤配置完毕,重启nginx,使用localhost:80访问,结果如下图:

说明代理成功。

3.下面直接使用localhost:80进行请求,如下图:

nginx解决前端请求第三方接口跨域问题!_第2张图片

结果如下:

可以看到请求成功。以上就是使用nginx处理前端跨域的方法,有不对的地方望指正。

你可能感兴趣的:(原创,nginx,前端跨域,ajax)