`
sjsky
  • 浏览: 917731 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache代理配置小试

阅读更多
    blog迁移至:http://www.micmiu.com

      本文作者Michael,永久链接:http://sjsky.iteye.com/blog/1067119       

       Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
       Apache是通过加载各个模块来提供相应的服务,本文主要详细介绍如何利用apache配置代理服务器。当然Apache可以被配置为正向(forward)和反向(reverse)代理,下面分别从这两方面重点介绍:

提供CHM版参考手册下载:Apache 2.2 简体中文参考手册.chm(金步国翻译)

示例环境为:windows vista+apache2.2.19,以下配置亲测均通过

一、正向代理forward proxy
   [1]、概念及用途
      正向代理是一个位于客户端和目标原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标原始服务器,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理,比如我们经常需要在浏览器中设置代理来访问一些网站。
      正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。
   [2]、配置及演示
    打开文件conf/httpd.conf,搜索到以下内容,去掉注释加载相应模块(去掉前面的“#”即可)
引用
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

    在文件httpd.conf的末尾加上如下内容:
引用
# module proxy config file
Include conf/extra/httpd-proxy.conf

    下一步,创建文件conf/extra/httpd-proxy.conf,内容如下:
#michale proxy config file
<IfModule mod_proxy.c>
	#Forward Proxy(正向代理)
	ProxyRequests On
	ProxyVia On
	
	#允许本机和以192.168.8前缀IP的主机访问该代理
	<Proxy *>
		#注意Deny,Allow之间不要有空格
		Order Deny,Allow
		Deny from all
		Allow from 127.0.0.1 192.168.8
	</Proxy>
	
	#下面的配置相当于一个二级代理,访问twitter.com的请求,再转给本地代理8580端口
	ProxyRemote http://twitter.com/ http://127.0.0.1:8580
	#ProxyRemoteMatch .*.youtube.com/|.*.twitter.com/ http://127.0.0.1:8580
</IfModule> 

[3]、缓存cache配置
    在文件httpd-proxy.conf中增加如下配置信息:
LoadModule cache_module modules/mod_cache.so

<IfModule mod_cache.c>

	LoadModule disk_cache_module modules/mod_disk_cache.so
	<IfModule mod_disk_cache.c>
		CacheRoot d:/proxycache/
		CacheDirLevels 5
		CacheDirLength 3
		CacheMaxFileSize 1000000
		CacheMinFileSize 64
	</IfModule> 
	CacheEnable disk /
	CacheDefaultExpire 3600
	CacheMaxExpire 86400
	
	# When acting as a proxy, don't cache the list of security updates
	#CacheDisable /local_files 
	
	CacheIgnoreCacheControl On
	CacheIgnoreHeaders Set-Cookie
	
</IfModule> 

     相关配置属性的详细信息请查阅参考手册,如果缓存配置成功,访问页面后会在目录d:/proxycache/ 下生成一系列文件夹和文件

二、反向代理reverse proxy
    [1]、概念及用途
      反向代理正好相反,对于客户端而言它就是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向原始服务器转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

      反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
   [2]、配置及演示
    把上面正向代理中的配置文件:conf/extra/httpd-proxy.conf,修改成如下内容:
<IfModule mod_proxy.c>
	#Reverse Proxy(反向代理)
	<Proxy *>
		Order Deny,Allow
		Deny from all
		Allow from 127.0.0.1 192.168.8
	</Proxy>

	ProxyRequests Off
	#proxy setting
	ProxyPass 		    /svnman http://192.168.8.49:8080/svnman
	ProxyPassReverse	/svnman http://192.168.8.49:8080/svnman
	#此处项目名称/svnman代理时没有变化,session不会丢失,不需要配置下面的属性
	#ProxyPassReverseCookiePath /svnman /svnman
	
	#可以配置多反向代理,添加多对ProxyPass、ProxyPassReverse即可
	ProxyPass 		    /log http://192.168.8.7:8550/logman
	ProxyPassReverse	/log http://192.168.8.7:8550/logman
	#此处项目名称/logman代理时为/log,需要配置如下信息,否则session会丢失
	ProxyPassReverseCookiePath /logman /log

	#配置跟代理,必需放在最后面,否则其他二级访问的反向代理会失败
	ProxyPass 		    / http://127.0.0.1:8082/webdemo/
	ProxyPassReverse	/ http://127.0.0.1:8082/webdemo/
	#此处项目名称 /webdemo/ 代理为 / 跟目录访问,session会丢失,需要配置如下信息
	ProxyPassReverseCookiePath /webdemo /

</IfModule> 

注意点说明:
  • ProxyRequests 反向代理时设置为Off
  • ProxyPass、ProxyPassReverse配对出现,如果只配置了ProxyPass,那么浏览器的地址栏内容会变成反向代理的原始地址
  • 可配置多个反向代理,只要添加多对ProxyPass、ProxyPassReverse即可
  • 如果配置时项目名称变化了比如上面的 /logman->/log /webdemo/->/,此时的session会丢失,需要增加属性ProxyPassReverseCookiePath配置(如上面的配置文件)
  • 如果同时配置跟访问和二级访问的代理,跟目录代理的配置必须放在最后面,否则其他反向代理的配置会失败


三、启动异常处理方法
      配置文件修改后,如果启动pache服务失败,报错信息类似:the requested operation has failed,有可能是配置文件存在语法错误不能正常解析,可以用apaceh提供的httpd相关命令检查,如果有错误会有相关提示,具体用法如下:
引用
d:\Program Files\Apache2.2\bin>httpd -t
Syntax error on line 6 of D:/Program Files/Apache2.2/conf/extra/httpd-proxy.conf:
order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'
#此处是由于配置文件中allow, deny的逗号后多了空格,去掉后即可通过
D:\Program Files\Apache2.2\bin>httpd -t
Syntax OK


    如果语法检查通过,但是仍然启动失败,这时需要根据日志文件:logs/error.log中记录的错误信息具体分析了。


转载请注明来自:Michael's blog @http://sjsky.iteye.com

-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------


4
2
分享到:
评论
1 楼 zhuzhuaijq 2012-11-09  
很好!!!!!!

相关推荐

    apache代理服务器,包含二级代理的配置

    apache代理服务器,包含二级代理的配置

    Apache代理转发配置

    Apache代理转发配置 

    linux下安装apache的及反向代理配置完整过程

    Linux 下安装 Apache 及反向代理配置完整过程 Linux 操作系统下安装 Apache 服务器是一件复杂的任务,需要逐步完成多个步骤。本文将详细介绍 Linux 下安装 Apache 及反向代理配置的完整过程。 安装 Apache 安装 ...

    配置Apache双向认证和反向代理(Apache+配置文档)

    windows下配置Apache双向认证和反向代理(Apache+配置文档)

    linux apache反向代理配置

    linux apache反向代理配置,写的有点乱,但是可以用,里面有说明文档 先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体...

    apache代理Tomcat负载均衡配置

    本文将深入探讨如何配置Apache代理Tomcat进行负载均衡,以及如何通过具体的配置参数优化这一过程。 ### Apache代理Tomcat负载均衡配置详解 #### 核心概念解析 在深入配置细节之前,理解几个核心概念至关重要: 1...

    Apache+SSL安全反向代理配置案例

    【Apache+SSL安全反向代理配置案例】 Apache作为一款广泛应用的开源HTTP服务器,常常被用于构建网站服务。SSL(Secure Socket Layer)则是提供网络安全传输的一种协议,常用于加密通信,确保数据在传输过程中不被...

    CentOS Apache配置详解

    CentOS Apache 配置详解 Apache 是一个流行的网页服务器软件,CentOS 也是一个流行的 Linux 发行版。在本文中,我们将详细介绍如何在 CentOS 上配置 Apache,以便实现网页服务器的功能。 一、 Apache 的安装和...

    APACHE服务器配置.pdf

    实验六 APACHE 服务器配置 1、实验目的要求 (1)掌握 APACHE 服务器的安装 (2)使用 APACHE 服务器的配置 2、实验主要内容 (1)APACHE 服务器的安装与启动 (2)简单 APACHE 服务器基本配置 (3)配置个人 WEB ...

    apache基本的配置的配置文件配置方法

    apache基本的配置的配置文件配置方法

    Apache服务器配置与管理视频教程

    教程名称: Apache服务器配置与管理视频教程【】linux-Apache 安装配置指南.zip【】第二讲Apache的目录结构和配置指令.zip【】第三讲Apache服务器的参数设置.zip【】第四讲Apache服务器中使用配置段.zip【】第五讲...

    Apache 流媒体配置

    Apache 流媒体配置模版,供以后参考,包括Alias等内容

    Apache服务器配置全攻略

    Apache有许多可选模块,如mod_rewrite用于URL重写,mod_proxy支持反向代理。使用LoadModule指令加载模块,然后在配置文件中启用相关功能。 九、故障排查与监控 1. 使用apachectl或httpd命令行工具进行服务启停、...

    用apache配置反向代理服务器

    ### 使用Apache配置反向代理服务器 #### 一、反向代理的基本概念 反向代理(Reverse Proxy)是一种网络架构模式,其中代理服务器接收来自互联网的请求,并将其转发给内部网络中的真实服务器。处理完请求后,代理...

    Apache服务器配置与管理

    本主题将深入探讨Apache服务器的配置与管理,帮助你掌握如何搭建和优化Web服务。 1. Web服务概述 Web服务是互联网的核心组成部分,它允许通过HTTP或HTTPS协议在客户端(如浏览器)和服务器之间交换数据。Web服务器...

    apache反向代理配置

    apache分发静态资源,反向代理配置,项目中实际应用。

    Apache配置详解(最好的APACHE配置教程

    Apache配置详解(最好的APACHE配置教程

    CentOS下Apache配置多域名或者多端口映射

    ### CentOS 下 Apache 配置多域名或多端口映射详解 #### 一、概述 在 CentOS 系统中,Apache 是一个广泛使用的 Web 服务器软件,它可以用来托管多个不同的网站或应用服务。为了实现这一点,我们需要对 Apache 进行...

Global site tag (gtag.js) - Google Analytics