Apache反向代理

什么是反向代理服务器?

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

用百度百科上的一张图片展示反向代理服务服务器的作用和工作原理:

image

工作方式

反向代理服务器其实就是代理了外部网络上的主机对内部网络的访问,对外部网络来说,可以把反向代理服务器看作是一个标准的web服务器,外部网络并不知道所得到的数据来自内部网络的哪个服务器上。反向代理服务器不保存任何网页的真是数据,所有的网页和CGI程序,都保存在内部的web服务器上。因此,对反向代理服务器的攻击不会使网页信息得到破坏,保护了内部服务器,提高了内部服务器的安全性。

可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。

image

在Apache服务器上设置反向代理服务器到内部jetty服务器上

1、在Apache服务器的配置文件目录conf.d中建立一个配置文件:/etc/httpd/conf.d/transparent.conf

1.    
2.  ServerName 192.168.0.2  
3.  SSLEngine on  
4.  SSLProxyEngine on  
5.  SSLCertificateFile /etc/pki/tls/certs/ca.crt  
6.  SSLCertificateKeyFile /etc/pki/tls/private/ca.key  
7.  ProxyRequests Off  
8.    
9.  Order deny,allow  
10.  Allow from all  
11.    
12.  ProxyPassMatch (?i)^(/backend/kks/sss/.*)$ http://192.168.0.2:9880  
13.    

这里我们假定反向代理服务的ip是192.168.0.1,内部服务器的ip是192.168.0.2,并且设置了SSL安全验证。该配置文件中指明了一切向/backend/kks/sss的请求都转向内部服务器192.168.0.2:8080端口上。

正则表达式:

1.  (?i)^(/backend/kks/sss/.*)$  

中,(?i)代表忽略大小写,^(/backend/kks/sss/.)代表以/backend/kks/sss/.开头的,$代表结尾

转载至: http://blog.csdn.net/liuchunming033/article/details/48493533

你可能感兴趣的:(Apache反向代理)