技术分享 - 反向代理
type: channel
link: http://www.web175.com/tag/反向代理/
items: Apache正向代理与反向代理配置

Apache正向代理与反向代理配置
type: item
date: 2019-08-28T11:01:00+08:00
description: Apache的mod_proxy模块支持正向代理、反向代理、透明代理、缓存、负载均衡，支持HTTP代理、FTP代理、SSL代理等功能。Apache的代理功能十分强大，若要使用Apache的代理功能，请自行安装上mod_proxy的相关模块，本文暂不对Apache的安装作介绍。 ##Apache正向代理添加方法 在全局配置(httpd.conf)或者Apache虚拟主机的配置文件添加如下配置 ``` ProxyRequests On #ProxyVia On ProxyVia Full #打印更详细的代理服务器信息 Order deny,allow Deny from all Allow from 192.168.123.0/24 ``` 在浏览器或QQ登录配置添加我们配置的代理，例如服务器IP和80端口号，就可以使用正向代理了。Apache正向代理也支持设置密码保护来访问代理。 ##Apache反向代理添加方法 同理，Apache反向代理的添加方法如下，支持在全局配置文件或虚拟主机配置文件配置，如果在虚拟主机文件配置，则用的是域名反向代理。 ###反向代理全局配置 ``` ProxyRequests off Order deny,allow Allow from all ProxyPass /test http://www.web175.com/test ProxyPassReverse /test http://www.web175.com/test ``` ###反向代理虚拟主机配置 ``` ServerName test.web175.com ProxyRequests off ProxyPreserveHost On AllowEncodedSlashes NoDecode Header set Access-Control-Allow-Origin * ErrorLog "/home/wwwlogs/test.web175.com-error_log" CustomLog "/home/wwwlogs/test.web175.com-access_log" common Order deny,allow Allow from all Order deny,allow Allow from all ProxyPass http://localhost:8080/ ProxyPassReverse http://localhost:8080/ ProxyPass http://localhost:8081/ ProxyPassReverse http://localhost:8081/ ``` 其中ProxyPassReverse配置能够隐藏后端服务器域名，绕过后端服务器HTTP重定向。 其中Directory是针对文件系统，用于设置文件系统中文件目录及文件的访问权限；Location是针对URL，设置访问URL的访问权限。 Apache反向代理还支持很多高级功能，可以与Nginx的反向代理配置做一定对比。