用Apache反向代理设置对外的WWW和文件服务器_php基础

简介:一台机器用专线接入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

时间: 2024-11-05 12:24:24

用Apache反向代理设置对外的WWW和文件服务器_php基础的相关文章

Linux防火墙上的Apache反向代理

[导读]本文着重介绍在企业防火墙上安装具有代理和重写规则功能的Web服务器--Apache的方法,以及编译和设置Apache的具体步骤.在成功安装后,弹性的虚拟主机设置可以允许外部用户通过防火墙访问内部局域网上多个Web服务器. 一.测试环境与网络结构 本文所使用的测试环境是Redhat Linux 7.2.Apache 1.3.24,公司域名假设是company.com. 公司的典型网络构造如附图所示. 注意: 附图中的防火墙上安装了2块网卡,其中e0端口的外部公共地址为1.2.3.4,e1端

Apache反向代理无法加载js css img

问题描述 Apache反向代理无法加载js css img Apache反向代理无法加载js css img 反向代理配置 ProxyRequests Off <Proxy http://proxy.mcmxzl.com> Options MultiViews AllowOverride None Order allow,deny Allow from all </Proxy> ProxyPass /roadcloud http://www.roadcloud.com.cn/ Pr

apache反向代理实现负载均衡,编译mod_proxy模块

利用apache和tomcat做集群,有好几种方式我们来介绍一种方法 一:查看是否有mod_proxy模块功能  代码如下 复制代码 [i5a6]# /usr/local/apache/bin/httpd -l 可以看到是否有mod_proxy的模块,直接去 /usr/local/apache/modules/ 去查看是否有对应的mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的模块包 二:本人的是vps已

apache tomcat 集群-apache 反向代理遇到的问题

问题描述 apache 反向代理遇到的问题 用apache做tomcat集群,tomcat发布的webservice服务 当tomcat有一个当掉的时候,客户端就不能再调用webservice服务 报错如下:error您的主机中的软件放弃了一个已建立的连接. : ajp_ilink_send(): send failederror您的主机中的软件放弃了一个已建立的连接. : proxy: send failed to 174.16.40.252:8009 (174.16.40.252) 部署环境

代理服务器-Apache反向代理请求跳转问题

问题描述 Apache反向代理请求跳转问题 我在配置Apache2.2.31的HTTPS反向代理配置,第一次进入时,地址栏显示的是Apache的地址,一切正常 ,而当我输入东西,点击跳转之后,地址栏就变成了被代理的主机的IP地址了 如果反向代理正常的话,地址栏不应该是https://192.168.1.105/mbi/ParamTest.do么???怎么才能让地址栏保证是代理服务器的地址呢??? httpd-vhosts.conf中的配置: ProxyPreserveHost看说明好像是多个主机

源代码构建Apache反向代理及SSL配置

由rpm构建的apache是适合大多数场合的应用,它包含了大多数的模块,而我们只是用它去构建反向代理,过多大模块反而不好,影响了性能,所以我们选择了针对性的源代码编译,让apache去适应我们的平台. 下载源代码: wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.25.tar.gz 解压 tar zxvf httpd-2.2.25.tar.gz cd httpd-2.2.25 编译安装的前提条件 yum install -y gcc gcc

apache反向代理内网相关服务器配置

但是手里管理着学校一台有几个域名解析的SERVER(但是应该是用VMWARE搞的VPS之类的,然后学校把相关域名解析到有外网IP的反向代理服务器,然后通过反向代理服务器上的squid分发到内网) 于是某天突发奇想,通过Apache伪静态+Proxy曲线救国访问git server,经过百般尝试终于成功了 动一下httpd.conf即可 在某域名的VirtualHost段下加上  代码如下 复制代码 <IfModule mod_rewrite.c> RewriteEngine On Rewrit

简单设置IIS配置PHP调试环境_php基础

Windows系统内置的Internet 信息服务(IIS)对ASP具有良好的支持,因此在IIS中调试ASP网页是非常方便的.但有些朋友的网页采用PHP编程技术,默认情况下,IIS是不支持PHP的,手工配置IIS的PHP调试环境对我们这些菜鸟来说是非常困难的,那如何才能让IIS支持 PHP呢?下面介绍一种方法,只需要简单几步就能在IIS中配置好PHP调试环境. 安装IIS组件 笔者以Windows XP系统的IIS5.1为例,首先必须安装IIS组件,系统默认是安装了的.如果你的系统中还没有,进入

Apache设置反向代理解决js跨域问题

这是一个很简单的方案,通过启用Apache反向代理解决js跨域问题 为什么要这么做? 在现在的开发过程中大家会遇到这样一个问题:后端代码写好之后,前端的小伙伴需要将后端代码部署到本地才能正常使用api.若直接使用远程服务器上的api(例如测试服务器上的api)就会出现js跨域问题,导致无法使用远程服务器上的api.将后端代码部署到前端小伙伴的本地会出现以下几个问题: 前端小伙伴下载后端代码到本地并配置,花时间! 后端代码有更新之后,前端小伙伴也需要更新本地的后端代码,花时间! 前端小伙伴本地安装