牛骨文教育服务平台(让学习变的简单)
博文笔记

什么是反向代理服务器如何配置反向代理服务器

创建时间:2015-09-16 投稿人: 浏览次数:3099

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

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

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

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

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

<VirtualHost 192.168.0.1:443>
  ServerName 192.168.0.2
  SSLEngine on
  SSLProxyEngine on
  SSLCertificateFile /etc/pki/tls/certs/ca.crt
  SSLCertificateKeyFile /etc/pki/tls/private/ca.key
  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyPassMatch (?i)^(/backend/kks/sss/.*)$ http://192.168.0.2:9880
</VirtualHost>
这里我们假定反向代理服务的ip是192.168.0.1,内部服务器的ip是192.168.0.2,并且设置了SSL安全验证。该配置文件中指明了一切向/backend/kks/sss的请求都转向内部服务器192.168.0.2:8080端口上。

正则表达式:

(?i)^(/backend/kks/sss/.*)$
中,(?i)代表忽略大小写,^(/backend/kks/sss/.*)代表以/backend/kks/sss/.*开头的,$代表结尾
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。