众所周知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,加入下面的设置:

Order allow,deny

Allow from all

Deny from 127.0.0.1

此配置的意思是,允许除本地计算机之外的所有计算机访问代理。然后重新启动Apache。再次试图使用IE连接Internet,你会收到类似于下面的信息:

Forbidden

You don't have permission to access http://www.google.com/ on this server.

说明本地计算机已经被禁止使用代理。而相反地,下面的设置:

Order deny,allow

Deny from all

Allow from 127.0.0.1

的意思是,仅允许本地计算机使用代理服务器

最新文章

  1. HttpUrlConnection 基础使用
  2. C#的扩展方法解析
  3. Be a new gentlemen
  4. MySQL 使用JOIN优化子查询
  5. 烂泥:nginx、php-fpm、mysql用户权限解析
  6. [ftp]Centos 创建 sftp 步骤
  7. 前端mvc框架backbone.js入门
  8. Chrome谷歌浏览器首页被改为Hao123导航怎么办|附各类解决方法【转】
  9. 基于libuv库的UDP收/发广播消息代码实现
  10. PHP扩展开发(1):入门
  11. Codeforces Round #350 (Div. 2)_D2 - Magic Powder - 2
  12. java基础--static关键字的使用
  13. 【译】编写支持SSR的通用组件指南
  14. ipconfig命令查ip的时候给别人看有危险吗
  15. spring mvc 实战化项目之三板斧
  16. 『OpenCV3』滤波器实现及使用滤波器降噪
  17. CentOS7安装配置Bacula yum方法
  18. 设置frameset高度
  19. Linux查看cpu个数
  20. 网络协议之ftp---ftp 协议详解

热门文章

  1. iOS下载使用系统字体
  2. spark standalone模式单节点启动多个executor
  3. [转]我为什么要学习python
  4. windows防火墙命令详解
  5. display:inline 和display:inline-block和display:block的区别
  6. [笔记]JavaScript获得对象属性个数的方法
  7. iOS开发多线程篇—GCD介绍
  8. Discuz升级提示static/image/postbg/3.jpg下载出现问题的解决办法
  9. 2D 《触不可及》
  10. 微信第三方 授权方账户信息 API文档错误