用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中调用JAVA
Oct 09 PHP
我的论坛源代码(一)
Oct 09 PHP
如何写php程序?
Dec 08 PHP
PHP学习 变量使用总结
Mar 24 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
PHP面试题之文件目录操作
Oct 15 PHP
详解thinkphp中的volist标签
Jan 15 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 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中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
2014/10/24 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
C语言面试题
2015/10/30 面试题
设计部经理的岗位职责
2013/11/16 职场文书
路政管理专业个人自荐信范文
2013/11/30 职场文书
离职信范本
2015/06/23 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android