1、开启代理模块
找到 http.conf 文件(路径/xampp/apache/conf/http.conf)
找到以下几句,如果之前有#,则把#去掉,代表打开代理模块
LoadModule proxy_module modules/mod_proxy.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
2、配置反向代理
找到 httpd-vhosts.conf 文件(路径/xampp/apache/conf/extra/httpd-vhosts.conf)
增加以下部分
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "D:/xampp/htdocs/ajax_curl" ServerName test.ajax.com ErrorLog "logs/test.ajax.com-error.log" CustomLog "logs/test.ajax.com-access.log" common ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /ajax/ http://10.32.100.123/ </VirtualHost>
注意:在hosts文件中需要增加过这个域名
(hosts文件路径C:/Windows/System32/drivers/etc/hosts)
127.0.0.1 test.ajax.com
3、重启apache,反向代理就能正常工作了
4、用法,
对应路径下的文件比如
D:/xampp/htdocs/ajax_curl/test.html
对应的访问路径是
http://test.ajax.com/test.html
其中所用到的jquery的ajax就能做跨域请求了
注意:ajax中url的部分必须为/ajax/{路径}
比如请求的原路径为: http://10.32.100.123/get_list
那么ajax中url的部分需填写为:/ajax/get_list
其中/ajax/这一段会被自动替换为原路径,达到反向代理跨域请求的目的