用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 相关文章推荐
php框架Phpbean说明
Jan 10 PHP
PHP define函数的使用说明
Aug 27 PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
php在数据库抽象层简单使用PDO的方法
Nov 03 PHP
CI配置多数据库访问的方法
Mar 28 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
浅析PHP echo 和 print 语句
Jun 30 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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
Python随机读取文件实现实例
2017/05/25 Python
python僵尸进程产生的原因
2017/07/21 Python
python中的变量如何开辟内存
2018/06/26 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
写好自荐信要注意的问题
2013/11/10 职场文书
入党自我评价优缺点
2014/01/25 职场文书
企业环保标语
2014/06/10 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
浅谈如何保证Mysql主从一致
2022/03/13 MySQL