用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 相关文章推荐
ajax php 实现写入数据库
Sep 02 PHP
php分页思路以及在ZF中的使用
May 30 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
php session的应用详细介绍
Mar 22 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
php生成图片验证码
2015/06/09 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
不懂JavaScript应该怎样学
2008/04/16 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Sanic框架配置操作分析
2018/07/17 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
学生会招新策划书
2014/02/14 职场文书
厂长岗位职责
2014/02/19 职场文书
关于爱国的标语
2014/06/24 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android