用Apache反向代理设置对外的WWW和文件服务器


Posted in PHP onOctober 09, 2006

简介:一台机器用专线接入Internet作为防火墙,在内部网段上有一台WWW服务器 
(Redhat 6.1,Apache 1.3.9)希望这台机器能对外提供WWW服务器和基于apache 
的文件服务。供外部世界公共访问WWW服务器,或者外地分公司下载需要的文件。 
优点: 内部的WWW服务器和文件服务完全与外部世界隔开,不直接连接到外部,通过 
防火墙上运行的Apache服务提供对内部的代理访问,增强了安全性,同时在 
防火墙上运行的Apache服务运用基于名字的虚拟主机技术,使得防火墙上的 
主页不会被访问到。符合了作为防火墙要求运行服务越少越安全的准则。 

实现方法:在内部网段上的Apache服务器(192.168.11.2)存放的是公司主页,供内部 
和外部用户公共访问,并设置/home/ftp/pub目录为文件存放区域,用 
http://download.yourdomain.com/pub/来访问。 
在防火墙上设置apache反向代理技术,由防火墙代理对内部网段上的访问。 

步骤: 
一. 内部网段上的Apache服务器设置 

apache采用默认配置。主目录为/home/httpd/html,主机域名为 sun.yourdomain.com, 
且别名www.yourdomain.com, 并且设置srm.conf加一行别名定义如下: 
Alias /pub /home/ftp/pub/ 

且更改默认应用程序类型定义如下: 
DefaultType application/octet-stream 

最后在/etc/httpd/conf/access.conf中增加一项定义 

Options Indexes 
AllowOverride AuthConfig 
order allow,deny 
allow from all 

注:Options Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。 
AllowOverride AuthConfig允许做基本的用户名和口令验证。 
这样的话,你需要在/home/ftp/pub目录下放入.htaccess,内容如下: 
------- 
[root@shopu pub]# more .htaccess 
AuthName Branch Office Public Software Download Area 
AuthType Basic 
AuthUserFile /etc/.usrpasswd 
require valid-user 
------ 
然后用#htpasswd -c /etc/.usrpasswd user1 
分别创建不同的允许访问/pub下文件服务的外部用户名和口令。 

二. 防火墙上反向代理配置: 
加下面的行到/etc/httpd/conf/httpd.conf 

NameVirtualHost 1.2.3.4 

# 1.2.3.4是防火墙外部网卡的互联网上永久IP地址 

servername www.yourdomain.com 
errorlog /var/log/httpd/error_log 
transferlog /var/log/httpd/access_log 
rewriteengine on 
proxyrequests off 
usecanonicalname off 
rewriterule ^/(.*)$ http://192.168.11.2/$1 [P,L] 

servername download.yourdomain.com 
errorlog /var/log/httpd/download/error_log 
transferlog /var/log/httpd/download/access_log 
rewriteengine on 
proxyrequests off 
usecanonicalname off 
rewriterule ^/(.*)$ http://192.168.11.2/$1 [P,L] 

注:设置防火墙上的DNS,让download.yourdomain.comwww.yourdomain.com都指向 
防火墙的外部网卡地址。www.yourdomain.com防问你的公司主页, 用 
http://download.yourdomain.com/pub/...?参募?略厍??/a> 

你需要在内部网段的apache主机上建立目录/var/log/httpd/download/目录,否则会 
出错。另外,你也可以设置防火墙主机上的/home/httpd/html/index.html的属性为 
750

PHP 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 PHP
Mysql的常用命令
Oct 09 #PHP
提升PHP执行速度全攻略
Oct 09 #PHP
Apache设置虚拟WEB
Oct 09 #PHP
PHP&MYSQL服务器配置说明
Oct 09 #PHP
国内php原创论坛
Oct 09 #PHP
强烈推荐:php.ini中文版(2)
Oct 09 #PHP
强烈推荐:php.ini中文版(1)
Oct 09 #PHP
You might like
QueryPath PHP 中的jQuery
2010/04/11 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
python获取一组汉字拼音首字母的方法
2015/07/01 Python
django 发送手机验证码的示例代码
2018/04/25 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
私有程序集与共享程序集有什么区别
2013/04/05 面试题
应届毕业生自我评价分享
2013/12/15 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
项目合作意向书模板
2014/07/29 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2014年公司工作总结
2014/11/22 职场文书
律师函格式范本
2015/05/27 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技
Java完整实现记事本代码
2022/06/16 Java/Android