在Linux防火墙上如何做Apache反向代理(2)
来源:asp之家 发布时间:2010-05-08 18:00:00
4. 编译Apache
编译代码如代码1所示。
代码1
#cdapache_1.3.24
#./configure --prefix=/usr/local/apache
--enable-module=most
--enable-shared=max
--enable-module=proxy
--enable-shared=proxy
--enable-module=rewrite
--enable-shared=rewrite 设置安装默认目录
编译大多数模块
设置模块为DSO(动态共享对象)模式
启动代理模块
安装代理模块为DSO模式
启动重写功能模块
安装重写功能模块为DSO模式
注意: 在编译Apache的时候,必须编译大多数模块,并将它们设置为DSO模式,同时启动proxy和rewrite模块,同时也将其设置为DSO模式。
#make
#makeinstall
将安装所有Apache所需文件到/usr/local/apache目录下。
5.在httpd.conf文件中设置基于域名的虚拟主机
在/usr/local/apache目录找到httpd.conf文件,并将下面的内容添加至此文件后。
NameVirtualHost1.2.3.4:80
<VirtualHost1.2.3.4:80 >
ServerAdminroot@company.com
DocumentRoot/usr/local/apache/htdocs
ServerNamedefault.company.com
ErrorLog/usr/local/apache_http/logs/error_log
CustomLog/usr/local/apache_http/logs/access_logcombined UseCanonicalNameOff
ProxyRequestsOff
RewriteEngineon
RewriteCond%.*/.company/.com$
RewriteRule^/(.*)$ http://%/ [P,L]
</VirtualHost>
注意事项:
①上面设置了基于域名的反向代理虚拟主机,这样当您从外部访问IP地址为1.2.3.4的主机,且URL地址后面部分的域名为“company.com”,Apache就可以把用户的请求转发到局域网内部的Web服务器上,并重写响应数据包去掉代理协议部分。
②“ServerName”一行可以任意指定。
③“ProxyRequestOff”一行用来禁止Apache在IP地址为1.2.3.4的主机和端口80上进行代理服务,在这里Apache作为一个透明的代理服务器来使用。
④“RewriteEngineon”一行用来启动Apache修改响应数据包的功能,否则下面的“RewriteCond”和“RewriteRule”将不起作用。
6.添加记录进入/etc/hosts文件
在上面的虚拟主机重写规则中,重写后的URL与您所请求的URL是一样的,我们的设想是将下面3个域名放到防火墙的/etc/hosts文件中,这样Apache将从内部3台Web服务器获得内容,并返回给外部用户,域名对应记录如下。
192.168.2.2 weba.company.com
192.168.2.3 webb.company.com
192.168.2.4 webc.company.com
三、总结
这样,当外部用户访问http://weba.company.com时,请求被送到防火墙的Apache上,而防火墙上的Apache反向代理将根据/etc/hosts文件中定义的记录直接从IP地址为192.168.2.2的Web服务器获取内容并返回给外部用户,从而完成内部Web服务器weba.company.com对外提供访问的功能。
在对Apache配置完毕后,如果还需要增加更多的内部Web服务器来提供外部访问服务,只需设置其DNS服务器的IP地址为1.2.3.4,并在/etc/hosts文件中增加相应记录即可。


猜你喜欢
- 有个朋友发信问我,我的边栏那个刷新一下的效果是如何实现的。能不能分享?其实,我这几天就打算分享出来,就是时间不允许,现在就给大家分享下如何利
- 1问题描述:1.1windows10首次安装VMware,或者非首次安装VMware时,安装后,没有出现如下图所示的虚拟网卡:1.2Xshe
- Godaddy主机用户从eNom转入域名 eNom注册可接收源自个注册处的转移。使用我们的RapidTransferSystem,域名转移常
- 不同的站点对安全级别的要求不同,康盛创想(Comsenz)推出的Discuz!系统允许站点管理者,通过自定义配置文件中的 config.in
- 前言ImageMagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在Windows和Linux系统都可以安装,因
- 北京时间11月24日下午消息,据国外媒体报道,全球最受欢迎的MMORPG(大型多人在线角色扮演游戏)《魔兽世界》周一迎来了5岁生日。该游戏于
- 数据显示,虽然经济危机对于互联网行业带来了很大的影响,但是08年网络广告行业还是有180多亿的规模,分析还指出,09年还会有20%的增长率。
- Inside Facebook博客曾发布了一篇名为“我有25万名用户,但是那又怎样呢?”的帖子,其作者提到了一个在Facebook上拥有40
- watch命令watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行
- 9月23日,作为全球最大的中文搜索引擎公司,百度公司在中国互联网协会、中国通信标准化协会指导下发布了国内首个《搜索营销标准与规范》。百度公
- 11月19日上午消息,火石软件今日发布代理商更换公告,公告中表示《水浒Q传》将结束同金山的运营合作。同时,火石软件将向畅游公司提供《水浒Q传
- 很多人开网站是因为兴趣,也有不少人开网站是为了赚钱,我当初也是为了兴趣而做网站,也可以说是对网站比较好奇,所以07年我就创办了自己的第一个网
- 由phpwind团队与淘宝图片导购联盟合作开发的“图片导购应用”近日正式发布,“图片导购应用”给站长带来了全新的盈利模式,利用“图片导购应用
- 高级安全篇1.关闭DirectDraw这是C2级安全标准对视频卡和内存的要求。关闭DirectDraw可能对一些需要用到DirectX的程序
- 你一定很喜欢像QQ或者MSN好友登录提示的效果吧,那么怎么样能在网页中实现呢?正好我在蓝色理想中发现了这段代码,贴出给大家看看(注意,如果使
- 解决Google AdSense广告加载的问题,在网页上放置了Google AdSense广告代码,可能会碰到Google AdSense广
- 本章将用最简短的语言概括SEO实际操作的基本流程。具体问题各个章节均有讨论,现在将各个章节的内容串联起来。一、建立网站当你确定网站的主题后就
- 1.在百度提交网址但现在百度自动收录的速度已经让众人所知,所以提出以下的方法。紧供所有的seo爱好者参详,学习。2.创建百度空间一般来说,创
- 在编写nginx的http的模块的时候,需要在各个阶段对http请求做相应的处理,以达到不同的目的,比如请求发起的时候是否有访问权限、内容生
- 在一个虚拟主机的服务器上,有NN多站,可能我们通过某种途径搞到了一个webshell,可是找不到apache等web服务器的配置文件,找不到