apache 反向代理

概述

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。

比较正向与反向的区别


正向代理:客户端->正向代理Server->internet->目标Server



反向代理:客户端->internet->反向代理Server->目标Server


Apache反向代理准备

1)本文采用系统:Centos6.2;Apache:apche2.2

2)保证你已经安装了Apache并且可以工作

3)部署需要反向代理的应用,本文把jamwiki-1.2.2.war部署到了Tomcat中


Apache反向代理配置


打开代理服务

去除http.conf中的注释(删除前面的#)

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

开始配置

1)在conf.d下新建以.conf为后缀的文件:michael.conf,写入

ProxyPass /jamwiki-1.2.2  http://10.0.11.106:8088/jamwiki-1.2.2

ProxyPassReverse /jamwiki-1.2.2  http://10.0.11.106:8088/jamwiki-1.2.2

#这里的"ProxyPass"是代理命令,”ProxyPassReverse“是反向代理之意。这里的意思是只要访问根下面jamwiki-1.2.2应用那么就请求http://10.0.11.106:8088/jamwiki-1.2.2。

#注意:这里的jamwiki-1.2.2与后面需要转发的项目必须一致,也就是“ http://10.0.11.106:8088/jamwiki-1.2.2”不能为“ http://10.0.11.106:8088/jamwiki”或者其他


2)修改http.conf文件

ServerName 10.0.25.8:80

3)重启服务:service httpd restart


测试

访问:http://10.0.25.8:80//jamwiki-1.2.2


问题

问题一:(13)Permission denied: proxy

解决办法(允许访问): setsebool -P httpd_can_network_connect 1

问题二:不能访问服务

解决办法:或许是因为防火墙,service iptables stop


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章