聚合全网技术文章,根据你的阅读喜好进行个性推荐
开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>
axios在生产环境跨域,原因是请求了第三方api,形如:www.abc.com中axios get到www.bcd.com/api这样的情况,有什么好办法解决吗
开发环境使用server proxy代理可以解决,但生产环境不行
求助!
nginx试试
请求到自己的后端,然后转发过去
另起个axios
像这种情况,生产环境只能在自己的后端做web服务器代理转发,或通过后端服务代码里间接请求处理
非自己的后端就用nginx做转发,自己的后台也要这样,跨域是偶尔使用,不能大规模使用。
使用nginx将/api 反射到www.bcd.com/api
修改nginx conf/nginx.conf,分别找到 location /节点 及location /api(一般需要自己添加)
#设置/为abc.com location / { proxy_pass http://www.abc.com; } #设置/api为bcd.com/api location /api{ proxy_pass http://www.bcd.com/api; }
这样访问www.abc.com/api会直接反射到 www.bcd.com/api下
这样在abc.com下的html文件只需要在axios提交时,提交到/api下就可以了。
ng转发一下
只能把第三方的请求接口映射到自己的nginx服务器上,靠nginx转发实现了。否则,你不可能要求别人给你开放跨域访问的。
nginx试试
请求到自己的后端,然后转发过去
另起个axios
像这种情况,生产环境只能在自己的后端做web服务器代理转发,或通过后端服务代码里间接请求处理
非自己的后端就用nginx做转发,自己的后台也要这样,跨域是偶尔使用,不能大规模使用。
使用nginx将/api 反射到www.bcd.com/api
修改nginx conf/nginx.conf,分别找到 location /节点 及location /api(一般需要自己添加)
这样访问www.abc.com/api会直接反射到 www.bcd.com/api下
这样在abc.com下的html文件只需要在axios提交时,提交到/api下就可以了。
ng转发一下
只能把第三方的请求接口映射到自己的nginx服务器上,靠nginx转发实现了。否则,你不可能要求别人给你开放跨域访问的。