版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2004/12/04/create-proxy-with-apache/以及本声明。
众所周知Apache是目前最优秀的HTTP服务器。实际上它不仅能当作服务器使用,也能够被用来架设代理服务器。本文就如何使用Apache架设HTTP代理服务器进行说明。
本文将基于Win32版的Apache 2.0.47进行说明。以前的Apache 1.x版配置方法稍有不同,但这里不作说明。
首先是Apache的安装。从 http://www.apache.org 上下载Apache的安装程序,双击安装程序进行安装。安装好之后屏幕右下方系统托盘中会出现一个红色的羽毛状图标,那就是Apache的控制程序。单击此图标以启动Apache服务器。这时打开IE并在IE的地址栏中输入http://localhost/ 应当能够看到Apache的欢迎画面。
接下来我们修改Apache的配置文件使其支持HTTP代理服务器功能。用文本编辑器打开httpd.conf文件。该文件位于Apache安装目录的conf目录下。如果你在安装Apache的时候没有改变安装路径,那么它应当位于C:\Program Files\Apache Group\Apache\conf\httpd.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
去掉前面的#号使相应的模块生效。然后使用托盘中的Apache控制程序重新启动Apache。(也可以使用命令行net stop apache2然后net start apache2命令进行服务器重启。)这时Apache应该能够正常启动,虽然现在它还不是代理服务器。
然后我们在配置文件中加入下面这一行:
ProxyRequests On
然后再次重新启动Apache。这时Apache就是HTTP代理服务器了。打开IE,选择菜单“工具→Internet选项→连接→局域网设置”,选中“为LAN使用代理服务器”,然后在下方的地址中填入127.0.0.1,端口填写80。填好之后确定,此时如果能够通过IE连接到Internet,则说明代理配置正确无误。(注:此处的端口80是httpd.conf中Listen指令指定的端口号。如果你修改了Listen命令使Apache监听其他端口,那么在IE的设置中也请做相应的改变。另外,如果你使用拨号连接的话,那么请在“工具→Internet选项→连接”中修改相应的拨号连接的代理设置,而不要修改局域网代理设置)
接下来我们尝试一下访问控制。编辑httpd.conf,加入下面的设置:
<Proxy *>
Order allow,deny
Allow from all
Deny from 127.0.0.1
</Proxy>
此配置的意思是,允许除本地计算机之外的所有计算机访问代理。然后重新启动Apache。再次试图使用IE连接Internet,你会收到类似于下面的信息:
Forbidden
You don't have permission to access http://www.google.com/ on this server.说明本地计算机已经被禁止使用代理。而相反地,下面的设置:
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
的意思是,仅允许本地计算机使用代理服务器。
Proxy指令后面的*号表示客户端使用代理服务器访问的目的地址。在上面两个例子中,*号表示所有地址,即禁止使用代理服务器访问所有地址。而如果想仅禁止某一些地址时,可以参考下面的例子:
<Proxy http://www.google.com/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
<Proxy http://www.yahoo.co.jp/r/*>
Order allow,deny
Allow from all
Deny from 127.0.0.1
</Proxy>
上面这个例子的意思是,仅允许本地计算机访问http://www.google.com/,并且禁止本地计算机对于http://www.yahoo.co.jp/r/下的资源的访问。由于Apache的Proxy指令目前还不能够支持多个目标地址,也就是说不能写成<Proxy http://www.google.com/ http://www.yahoo.co.jp>的形式,因此如果你想对多个目标地址做出限制时,必须使用多个Proxy指令。
如果想对所有使用者(而不仅仅是部分使用者)访问某些地址做出限制时,可以使用ProxyBlock的指令:
ProxyBlock microsoft co.jp www.google.com上面这条指令阻挡了三种目标地址:包含microsoft的地址,包含co.jp的地址,包含www.google.com的地址。但是实际使用IE测试时你会发现,http://www.google.com/和http://www.google.co.kr/(Google韩国站)将都不能访问,而http://www.google.co.kr/并没有满足上面阻挡的规则。这是因为,Apache启动时将对阻挡地址中看起来像是主机名或者域名的字符串进行域名解析,如果解析成功就阻止掉相应的目标IP地址。而www.google.co.kr和www.google.com的IP地址相同,因此www.google.co.kr也同时被阻挡了。另外,由于Apache试图去解析域名,因此当你使用ProxyBlock时,Apache的启动时间会变长。
另外要注意,如果写ProxyBlock *,那么将不能通过该代理服务器来访问任何地址。
最后再介绍一下二级代理。使用Apache可以做二级代理,即让本身已经是代理服务器的Apache通过其他的代理服务器来连接Internet。加入以下指令:
ProxyRemote * http://12.34.56.78:8080
即可让Apache将12.34.56.78:8080作为代理服务器。ProxyRemote指令之后的第一个参数表示协议名称或目标地址,例如:
ProxyRemote ftp http://12.34.56.78:8080 # 对于所有ftp请求使用二级代理
ProxyRemote http://www.google.com/ http://12.34.56.78:8080 # 当访问www.google.com时使用二级代理
分享到:
相关推荐
用 Linux 架设代理服务器 Linux 作为一个开源的操作系统,具有良好的安全性、多用户多任务的特征和资源共享的功能。因此,Linux 是架设代理服务器的首选操作系统。下面就如何架设 squid 代理服务器进行详细的介绍...
Apache是一款广泛使用的开源Web服务器,尤其在Linux操作系统中极为常见。Apache因其稳定、高效和高度可定制的特点,成为了搭建Web服务器的首选。本篇将详细解释如何使用Apache在Linux环境下建立Web服务器,以及相关...
Linux系统和相关管理工具的安装与使用,常用网络服务(DNS、DHCP、网关、路由)的启动与配置,Squid局域网共享上网服务器、Samba资源共享服务器、NFS网络文件服务器、LDAP目录服务器、Wu-FTP文件服务器、Sendmail...
除了Apache之外,Nginx也是一个高性能的HTTP和反向代理服务器。Nginx配置文件通常位于/etc/nginx/nginx.conf,需要设置的参数包括监听端口、服务器块配置、location块配置等。 7. Linux服务器配置的细节: 文档中还...
Web服务器的架设和管理是构建互联网服务的核心环节,其中Apache和Tomcat是两种常见的服务器软件。Apache作为最流行的Web服务器,以其开源、高效、稳定和安全性受到广大用户的青睐。而Tomcat则是一个针对Apache服务器...
在个人电脑上架设服务器,即单机架站,是一个技术性强且有趣的过程,它可以用于测试、学习或作为小型项目的本地服务器。以下是一份详细的单机架站全攻略,涵盖了从选择硬件到配置软件的各个步骤。 首先,硬件是基础...
1. Apache或Nginx:根据需求选择适合的Web服务器,如Apache适用于PHP环境,Nginx则以其高性能和反向代理功能受到青睐。 2. SSL证书:为网站启用HTTPS,安装SSL证书,提供安全的HTTP传输。 3. 虚拟主机:配置虚拟主机...
apache反向代理,可以理解为一个镜像,比如,在一个办公网络中要访问外网的服务,可以用一台服务器架设apache反向代理,具体使用可以看文档。
实验四主要围绕服务器的架设,特别是代理服务器的配置,以及如何通过DNS解析、Web服务、CCProxy和网站过滤功能来实现对网络访问的控制。以下是对这些知识点的详细说明: 1. **设置虚拟IP**: 在服务器上配置虚拟IP...
在本文中,我们将讨论如何简单地架设Qmail电子邮件服务器。Qmail是一款由Dan Bernstein设计的邮件传输代理软件,以其高效、安全和稳定性而闻名。以下是设置Qmail服务器的基本步骤,以及相关的软件包和环境需求。 ...
Linux操作系统概述 ...每个组件都有其特定的安装、配置和管理方法,这些都构成了Linux网络服务器架设的基础。对于中小型企业来说,利用Linux的开源优势和强大功能,可以建立经济高效的网络基础设施。
### 基于Windows平台的JSP WEB服务器架设 #### 摘要与引言 本文主要介绍了如何在Windows平台上构建一个以JDK+Apache+Tomcat+MySQL为基础的JSP WEB服务器,并详细阐述了各组件的安装、配置及集成整合过程。随着...
Squid是一款广泛使用的代理服务器软件,支持透明代理、缓存和带宽限制等功能。 - **网关服务**:网关服务是指在网络之间充当数据转发的角色,通常用于实现不同网络之间的通信。Linux下的iptables和nftables等工具可...
Web服务器的架设和管理是IT领域中的一项基础技能,对于构建和维护互联网服务至关重要。本篇内容主要涵盖了Web服务器的基本概念、功能,以及如何在Windows Server环境下配置和管理IIS,还包括Apache和Tomcat的安装与...
【Linux操作系统概述】 ...这些是中小型企业基于Linux系统网络服务器架设的基础知识,涵盖从操作系统安装到各种服务的配置。通过理解并实践这些内容,可以建立一个高效且稳定的服务器环境来支撑企业的日常运营。
让你的apache支持asp,服务器架设必备 1下载iasp的win32版:iASP2.1.01.exe,10M左右。 2 安装apache。 3 双击iASP2.1.01.exe,开始安装。安提示做即可。 我的安装路径为:c:\IASP2101 4 安装完毕后,提示是否现在...
网站架设时,Apache Tomcat通常与HTTP服务器如Apache HTTP Server或Nginx配合使用。HTTP服务器负责处理静态资源请求,而动态内容(如由Servlets和JSP生成的内容)则通过反向代理传递给Tomcat处理。这种架构可以提高...