用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实现ODBC数据分页显示一例
Oct 09 PHP
什么是MVC,好东西啊
May 03 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
两个php日期控制类实例
Dec 09 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
PHP实现支付宝即时到账功能
Dec 21 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导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
nodeJS微信分享
2017/12/20 NodeJs
ES6 class的应用实例分析
2019/06/27 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
python2.7实现邮件发送功能
2018/12/12 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
为什么python比较流行
2020/06/19 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
施工资料员的岗位职责
2013/12/22 职场文书
初中数学教学反思
2014/01/16 职场文书
消防战士优秀事迹材料
2014/02/13 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
PyTorch的Debug指南
2021/05/07 Python
Android 中的类文件和类加载器详情
2022/06/05 Java/Android