前端项目开发,大多数时候需要模拟服务器环境,以及多个项目之间涉及到接口跨域等问题,接下来给大家介绍一下apach做接口转发。
1.apach的安装
①可以去apach官网根据自己系统的版本自行选择下载(喜欢折腾的小伙伴可以这样操作)
②如果你比较赶时间或者跟我一样比较懒,可以下载一个360软件管家,搜索 apache ,点击安装即可(虽然lower了一点,但是还是挺快的,省的翻墙什么的了)
2.修改配置文件(文根设置、反向代理设置等)
找到安装目录下的httpd.conf文件
我的默认安装到c盘:C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf
1.打开httpd.conf文件 修改处如下
LoadModule expires_module modules/mod_expires.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
需要将以上几个功能模块打开(将“#”去掉即可,“#”代表注释)
2.找到<Directory /></Directory >将其修改为如下代码
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
3.尾部添加 <VirtualHost *:80>,代码如下
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
ServerName localhost
ProxyRequests off
#cpic
#DocumentRoot "D:\eclipse\workspace\crm\zybV1.1"
DocumentRoot "D:\lzm\work\kaifa\20181026" (这里是前端代码的本地路径)
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#images
Alias /icon/ "/nfsfile/menuIcon/save/"
Alias /icon/ "/nfsfile/menuIcon/insuranceImage/"
#crm 生产
#ProxyPass /crm-http(代理转发接口目录) https(区分协议)://域名或者ip+端口/crm-http
#ProxyPassReverse /crm-http(代理转发接口目录) https(协议)://域名或者ip+端口/crm-http
#ProxyPass /sxcb(代理转发接口目录) https(区分协议)://域名或者ip+端口/sxcb
#ProxyPassReverse(代理转发接口目录) https(区分协议)://域名或者ip+端口/sxcb
#crm dev
ProxyPass /crm-http http://10.182.10.1/crm-http
ProxyPassReverse /crm-http http://10.182.10.1/crm-http
ProxyPass /sxcb https://www.baidu.com/sxcb
ProxyPassReverse /sxcb https://www.baidu.com/sxcb
</VirtualHost>
到这里,配置已经结束了。接下来重启服务即可生效
打开浏览器,本地的前端静态文件已经可以正常访问,会发现接口已经可以成功调用了
即 这个地址。