当前位置: 首页 > 后端技术 > PHP

vueapache反向代理ajax跨域

时间:2023-03-29 19:45:38 PHP

团队合作,一个人做前台,测试代码的时候,有时候要和后台同学合作,他已经配置好后台,更新到服务器了。如果我也上传到服务器测试,显然太累了,直接在本地请求会出现跨域问题。想着jsonp明显不靠谱,只是为了测试污染后台代码。后面会考虑在本地开启反向代理。网上有很多原理和解决方法。记录到这里,回顾一下这次开发,后面选择vue-cli(第一次用感觉很方便,但是问题也是头大)vue-cli已经考虑到了这个问题,在index.js在dev编译环境下,有个proxyTable属性可以配置`proxyTable:{'/run':{//这里是我配置目标的名字:'http://localhost/work4/0323/TP',//这个路径是我代理到本地的tp框架changeOrigin:true,//启用代理pathRewrite:{'^/run':''//在这里重写路径/run来代理到对应的地址}}},`当然如果使用nodejs这种热刷新技术在本地静态开发,我这边还是小白的wamp环境。apache配置如下,需要使用如果愿意先启用,在httpd.conf文件中启用Apache代理模块,直接从目录进入,因为以后还需要配置额外的文件,改这个文件等一下。记得备份这个文件!找到这两个去掉##LoadModuleproxy_modulemodules/mod_proxy.soLoadModuleproxy_http_modulemodules/mod_proxy_http.so保存,然后进入extra目录(这是额外的配置,为了让httpd.conf不那么大,有的版本可能没有这个文件)找到httpd-vhosts.conf,在开头添加如下代码ProxyRequestsoffOrderdeny,allowAllowfromOffProxyPass/tphttp://hazyzh.com/tpProxyPasss必须自己写,不能照搬前面的重新路径,后面跟着代理到相应的地址。ProxyRequestsOff命令是指使用反向代理ProxyPass来映射url。这里我把主站下的tp文件夹映射到这里。ProxyPass需要根据自己的需要来写。之后我会在本地请求/tp开头的路径,会自动映射到对应的服务器上。比如我这里写/tp/index.php/...会被代理到hazyzh.com/tp/index.php/...这里在测试本地目录的时候恰好是一些/root,所以如果后台的文件地址和后面的online是一一对应的,不用改任何代码,一一对应即可