用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 相关文章推荐
Cakephp 执行主要流程
Mar 24 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
选择PHP作为网站开发语言的原因分享
Jan 03 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
dedecms集成财付通支付接口
Dec 28 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
php自定义函数实现统计中文字符串长度的方法小结
Apr 15 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 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
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
php中memcache 基本操作实例
2015/05/17 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
判断控件是否已加载完成的代码
2010/02/24 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
浅谈node的事件机制
2017/10/09 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
Python中的 enum 模块源码详析
2019/01/09 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
python生成器推导式用法简单示例
2019/10/08 Python
python 实现屏幕录制示例
2019/12/23 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Django视图、传参和forms验证操作
2020/07/15 Python
2013年高中生自我评价
2013/10/23 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
工作收入证明模板
2014/10/10 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
MySQL系列之四 SQL语法
2021/07/02 MySQL