用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 相关文章推荐
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
php实现水仙花数示例分享
Apr 03 PHP
php输出xml必须header的解决方法
Oct 17 PHP
标准PHP的AES加密算法类
Mar 12 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
PHP7新增函数
Mar 09 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
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
js中判断控件是否存在
2010/08/25 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python随机生成指定长度密码的方法
2015/04/04 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
python super用法及原理详解
2020/01/20 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
酒店总经理工作职责
2013/12/13 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
市场督导岗位职责
2015/04/10 职场文书
稽核岗位职责范本
2015/04/13 职场文书
七年级生物教学反思
2016/02/20 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
mysql的Buffer Pool存储及原理
2022/04/02 MySQL