社区
Apache
帖子详情
如何将Apache 2.0.52作为代理服务器
hengase
2007-04-04 11:08:14
Apache 2.0.52作为代理服务器,应该怎样配置使用?
...全文
706
3
打赏
收藏
如何将Apache 2.0.52作为代理服务器
Apache 2.0.52作为代理服务器,应该怎样配置使用?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hengase
2007-04-05
打赏
举报
回复
我现在配置到上一步时,在地址栏里输入任何地址都会跳到,“安装Apache的测试页面”??
hengase
2007-04-05
打赏
举报
回复
然后我们在配置文件*加入下面这一行:
ProxyRequests On
是什么意思具体在哪个位置?
Fufay
2007-04-04
打赏
举报
回复
众所周知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时使用二级代理
java定义终结成员的关键字是_Java: super关键字 final关键字 内部类的定义与使用...
文章目录1.super关键字(表示父类属性、表示父类方法)a.super用于方法①用于构造方法(******)表示调用父类构造方法super(参数列表);当子类调用父类无参构造时,super( 方法参数);可写可不写,表示调用父类无参构造。当子类调用父类有参构造时,super(参数列表)必须要写,要告诉编译器当前调用的是哪个有参构造子类构造方法中调用父类构造时必须是第一行语句。this和super...
java面向对象
面向对象: 封装、继承、多态 1、继承: a) Java中只能实现单继承 b) 但是可以实现多层继承 c) 要符合is a 规则 d) 继承的格式: Class 子类名 extends 父类名 e) Java中应用在开发,继承的常用格式: Class 子类名 extends 父类名 implements 接口,接口......
java基础
1.JDK、JRE、JVM三者的关系? JVM是Java虚拟机,是虚拟出来的一个系统,我们常说的hotsport是JVM的一种实现;JRE是Java的最小运行环境,它包含JVM和系统类库;JDK是Java的最小开发环境,它包含JRE+编译运行工具。 2.Java的基本数据类型? byte(1个字节) short(2个字节) char(2个字节) int(4个字节) long(8个字节) double(8个字节) float(4个字节) boolean(1个字节) 3...
Java关键字:final,static,this,super
final,static,this,super 关键字总结 正文开始@Assassin 目录:final,static,this,super 关键字总结1. final 关键字:2. static 关键字:3. this 关键字:4. super 关键字: 1. final 关键字: final 关键字,意思是最终的、不可改变的,初始化之后就不能再次修改 ,用来修饰类、方法和变量,具有以下特点: final 修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为 final 方法; fina
Java中super关键字与final关键字
文章目录Java中super关键字Java中final关键字 Java中super关键字 super 可以理解为是指向自己父(超)类对象的一个指针,而这个超类指的是离自己最近的一个父类。 super关键字的作用: 调用父类的构造方法 调用父类的成员方法 注意: 1、super只能应用在成员方法和构造方法中,不能应用在静态方法中(和this是一样的),如果在构造方法中使用super,必须放在方法...
Apache
24,915
社区成员
16,537
社区内容
发帖
与我相关
我的任务
Apache
Web 开发 Apache
复制链接
扫一扫
分享
社区描述
Web 开发 Apache
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章