怎么配置反向代理 apache
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么配置反向代理 apache相关的知识,希望对你有一定的参考价值。
双击安装刚下载的Apache HTTP Server安装文件,按照安装向导安装完成后,软件会自动运行,如果端口不被占用,会启动成功,例如,在浏览器输入http://localhost或者http://localhost:8080,回车。如果出现ItWorks!字样,说明已经安装成功了。要配置反向代理,
首先,找到我们刚才安装的Apache HTTP Server根目录,
进入conf,找到httpd.conf配置文件,在大概110行,
LoadModuleproxy_module modules/mod_proxy.so
LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
将这些注释打开,即去掉前面的#;
然后,还是在这个文件的471行,
Include conf/extra/httpd-vhosts.conf
将注释打开;
打开,修改里面的配置;
NameVirtualHost *:80[A1]
<VirtualHost *:80>[A2]
ServerAdmin webmaster@test.com
DocumentRoot "d:/www/test"
ServerName test.orientsec.com
ServerAlias test.orientsec.com
ErrorLog "logs/test-error.log"
CustomLog "logs/test-access.log"common
ProxyPass /images/ !
ProxyPass/js/ !
ProxyPass/css/ !
ProxyPass/wiki http://hdwiki.orientsec.com/wiki.html max=20 ttl=120 retry=300
ProxyPassReverse/wiki http://hdwiki.orientsec.com/wiki.html
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@hdwiki.com
DocumentRoot "d:/www/hdwiki"
ServerName hdwiki.orientsec.com
ServerAlias hdwiki.orientsec.com
ErrorLog "logs/hdwiki-error.log"
CustomLog "logs/hdwiki-access.log"common
</VirtualHost>
找到conf/httpd.conf里面的< Directory>标签修改权限配置,否则会一直拒绝访问,需要登录验证。
Allow from none
改为:
Allow from all
最后,重启Apache HTTP Server;
负载均衡
ProxyPass / balancer://orientsec.com.cn/
ProxyPassReverse/ balancer://orientsec.com.cn /
<Proxy balancer://orientsec.com.cn/>
BalancerMember http://localhost:8085/
BalancerMemberhttp://localhost:8086/
</Proxy> 参考技术A 如何开启apache虚拟目录反向代理
现有2个项目,A:php项目,B:java项目。由于域名解析只能使用80端口,因此需要apache来反向代理。apache使用80端口,tomcat使用8080.
apache下httpd.conf中开启以下模块:
# Virtual hosts 加载虚拟主机功能
Include conf/extra/httpd-vhosts.conf#开启代理相关模块
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.soLoadModule vhost_alias_module modules/mod_vhost_alias.so
httpd-vhosts中添加
<VirtualHost *:80>
ServerName yxj.zhoushangang.cn
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ErrorLog logs/wap.xxx.com_error_log
CustomLog logs/wap.xxx.com_access_log common
</VirtualHost>
Apache反向代理配置
一、问题描述:
在本地服务器A(11.36.164.161)上部署前端系统,采用xampp集成的apache;
后台位于服务器B(101.8.22.13:5978),A与B是通的,因此在A上能够直接请求数据,但是客户端C访问A的时候,默认是由C直接向B请求数据,如果C与B不通,则没法请求后台数据,解决的办法是在A上对B配置反向代理,即所有客户端对B的请求实际上都通过A进行转发。在xampp集成的apache服务器中配置,采用端口代理,由于前端端口与新配置的代理端口可能存在跨域,因此还要开启A的允许跨域。
二、配置方法
本地服务器A:11.36.164.161
远程服务器B:101.8.22.13:5978
以下配置均在A中完成
①开启apache代理,在httpd.conf中打开以下配置
\xampp\apache\conf\httpd.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
Include conf/extra/httpd-vhosts.conf
②修改httpd.conf中Directory配置为以下内容使服务器允许跨域
<Directory />
AllowOverride none
Require all granted
Header set Access-Control-Allow-Origin *
</Directory>
③在httpd-vhosts.conf中添加端口代理
\xampp\apache\conf\extra\httpd-vhosts.conf
listen 88
<VirtualHost 11.36.164.161:88>
ServerName dummy-host.11.36.164.161
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://101.8.22.13:5978/
ProxyPassReverse / http://101.8.22.13:5978/
</VirtualHost>
含义:将原来请求B服务器http://101.8.22.13:5978/的URL通过服务器A的88端口进行转发,注意斜杠,例如服务器A之前请求B的URL为http://101.8.22.13:5978/stat,则设置反向代理后请求改为http://11.36.164.161:88/stat
④修改原来前端直接请求http://101.8.22.13:5978/的URL为本机88端口的URL
globe.restDataURL ="http://11.36.164.161:88";//后台数据实际url为:http://101.8.22.13:5978/,已采用反向代理配置
以上是关于怎么配置反向代理 apache的主要内容,如果未能解决你的问题,请参考以下文章