Apache转发配置
通过 Apache 配置 Rewrite 支持 .htaccess

【转】通过 Apache 配置 Rewrite 支持 .htaccess2011-03-01 14:16转载自分享最终编辑ruhaole1.首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。
及是否加载了 mod_rewrite 模块 .mod_rewrite 的是一个 Apache 模块,可使服务器操纵请求的网址。
根据一系列规则对传入的网址进行检查,规则中包含一个正则表达式来检测特定的格式。
如果在地址中发现了一个格式,并且满足适当的条件,该格式就会被一个替代的字符串或者是动作取代。
Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:清单 1. Apache 1.x 的加载模块代码LoadModule rewrite_module libexec/mod_rewrite.soAddModule mod_rewrite.cApache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:清单 2. Apache 2.x 的加载模块代码LoadModule rewrite_module modules/mod_rewrite.so如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。
此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用,改好后将 Apache 重启。
稍后再解释这段代码的意思Apache配置:支持httpd.conf 配置和目录 .htaccess配置启用rewrite# LoadModule rewrite_module modules/mod_rewrite.so去除前面的 #LoadModule rewrite_module modules/mod_rewrite.so启用.htaccessAllowOverride None 修改为:AllowOverride All------------------------------------------------------------------------------让apache服务器支持.htaccess如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让APACHE支持.htaccess了。
apache配置301重定向

seeother
返回一个"参见"状态码(303),表示此资源已经被替代。
gone
返回一个"已废弃"状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。
举例:
APACHE http-vhosts.conf配置文件,添加301重定向代码
Redirect 301 /old/old.htm /new.htm #/old/old.htm重定向到new.htm
Redirect permanent /one /two #同上,permanent指令表示返回永久性重定向状态码301
如需配置大量的虚拟域名,则可写成:* IN CNAME .
这样就可将所有未设置的以结尾的记录全部重定向到上。
Redirect [status] URL-path URL
RedirectMatch [status] regex URL
status参数可以使用以下HTTP状态码:
permanent
返回一个永久性重定向状态码(301),表示此资源的位置变动是永久性的。
temp
绑定/本地DNS(域名别名跳转)
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。
若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将指向,则只需在DNS服务中应增加一个别名记录,可写成:aaa IN CNAME 。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
APACHE安装配置说明

APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。
另,如果有httpd包,要先卸载掉或停⽌其服务。
三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。
发⾏包不⽤。
如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。
(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。
如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。
Apache使⽤PCRE包包含的正则表达式。
3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。
apache转发超时不再转发

apache转发超时不再转发Apache服务器是一款非常流行的Web服务器软件,它被广泛应用于互联网领域。
在实际使用中,我们经常需要设置Apache服务器进行转发,将请求转发到其他服务器或域名。
然而,有时候我们可能会遇到转发超时的问题,即请求在转发过程中花费的时间超过了预设的时间,导致服务器不再进行转发。
下面将详细介绍Apache转发超时的原因和解决方法。
首先,需要明确一点,Apache服务器转发超时指的是当代理服务器在连接目标服务器时,等待目标服务器响应的时间超过了预设的时间。
转发超时可能由多种原因引起,包括网络延迟、服务器配置不当、目标服务器负载过高等。
解决此问题的关键在于找出引起超时的具体原因,并采取相应的解决方案。
首先,我们可以通过增加转发超时的时间来解决问题。
在Apache的配置文件中,可以找到"ProxyTimeout"这个配置项,它用于设置代理超时的时间,默认值为60秒。
我们可以将这个值适当增大,比如设置为120秒,以便给目标服务器更多的响应时间。
但需要注意的是,设置超时时间过长可能会导致请求长时间挂起,影响服务器性能。
其次,我们可以通过调整目标服务器的负载来解决转发超时问题。
当目标服务器负载过高时,处理请求的时间会相应增加,导致转发超时。
因此,我们可以通过增加目标服务器的处理能力,来减少转发超时的发生。
具体的方法包括增加服务器带宽、升级服务器硬件、优化数据库查询等。
此外,我们还可以通过优化网络传输来避免转发超时。
例如,可以采用CDN加速、负载均衡等技术,将请求分散到多个目标服务器上,以减少单个服务器的负载压力,提高响应速度。
另外,还可以通过使用缓存技术,将一些静态资源缓存在代理服务器上,减少对目标服务器的请求,从而提高转发速度。
最后,我们还可以通过查看Apache服务器的日志来定位转发超时的具体原因。
在Apache的日志文件中,可以查看请求的详细信息,包括转发的目标、转发过程中耗费的时间等。
apache配置及模块指令速查

Apache常用模块和参数1Apache服务配置指令1.1基本配置命令AccessFileName语法AccessFileName filename默认值AccessFileName .htaccess作用域server config, virtual host此命令是针对目录的访问控制文件的名称;AddDefaultCharset语法AddDefaultCharset On|Off|charset默认值AddDefaultCharset Off作用域server config, virtual host, directory, .htaccess用于指定默认的字符集,在HTTP的回应信息中,若在HTTP头中未包含任何关于内容字符集类型的参数时,此指令指定的字符集添加到HTTP头中,此时将覆盖网页文件中通过META 标记符所指定的字符集.默认字符集为: AddDefaultCharset UTF-8 若显示中文时出现乱码,解决方法是将字符集设置为GB2312,即: AddDefaultCharset GB2312DefaultType语法DefaultType MIME-type默认值DefaultType text/plain作用域server config, virtual host, directory, .htaccess服务器不知道文件类型时,用缺省值通知客户端;DocumentRoot设置Apache提供文件服务的目录;ErrorDocument设置当有问题发生时,Apache所做的反应;ForceType此指令强制所有匹配的文件被当作在MIME-type中指定的Content-Type来伺服。
比如说,如果您有一个包含大量GIF文件的目录,可您又不想全都为它们加上".gif"扩展名的话,您可以这样做:型的扩展名。
你可以通过使用"None"覆盖任何ForceType设置:<IfModule>使用不包含在Apache安装中的模块的命令Include包含其它的配置文件Listen默认值:80Listen命令告诉服务器接受来自指定端口或者指定地址的某端口的请求,如果listen仅指定了端口,则服务器会监听本机的所有地址;如果指定了地址和端口,则服务器只监听来自该地址和端口的请求Options控制某个特定目录所能使用的服务器功能;其值有:None:表示只能浏览,FollowSymLinks:允许页面连接到别处,ExecCGI:允许执行CGI,MultiViews:允许看动画或是听音乐之类的操作,Indexes:允许服务器返回目录的格式化列表,Includes:允许使用SSI。
Apache的工作原理

Apache的工作原理引言概述:Apache是一款广泛使用的开源Web服务器软件,被广泛应用于互联网中。
本文将详细阐述Apache的工作原理,包括请求处理、模块化架构、多进程模型、负载均衡和缓存机制等方面。
正文内容:1. 请求处理1.1 连接处理:Apache通过监听端口接受客户端的连接请求,并为每个连接创建一个独立的进程或线程。
1.2 请求解析:Apache根据请求的URL和HTTP头部信息,解析出请求的资源路径和请求方法等信息。
1.3 路由匹配:Apache根据配置文件中的规则,将请求的URL与已配置的虚拟主机、目录或文件进行匹配,确定请求的处理方式。
1.4 访问控制:Apache可以根据配置文件中的访问控制规则,对请求进行身份验证和授权,确保只有合法用户可以访问资源。
1.5 请求处理:Apache将请求交给相应的模块进行处理,如静态文件处理、动态脚本解析等。
2. 模块化架构2.1 核心模块:Apache的核心模块负责基本的请求处理和连接管理,如核心处理模块、连接处理模块等。
2.2 功能模块:Apache提供了丰富的功能模块,如SSL模块、代理模块、重定向模块等,可以根据需求进行动态加载和配置。
2.3 第三方模块:Apache支持第三方开发者编写自定义模块,扩展Apache的功能,满足特定需求。
3. 多进程模型3.1 主进程:Apache启动时创建的主进程负责监听端口、接受连接请求和管理子进程。
3.2 子进程:主进程根据配置文件中的设定,创建一定数量的子进程,每个子进程独立处理连接请求,提高并发处理能力。
3.3 进程池管理:Apache使用进程池管理子进程,根据负载情况动态调整子进程的数量,实现资源的高效利用。
4. 负载均衡4.1 代理模块:Apache的代理模块可以将请求转发给多个后端服务器,实现负载均衡。
4.2 负载均衡算法:Apache支持多种负载均衡算法,如轮询、加权轮询、最少连接等,根据配置文件中的规则选择后端服务器。
Apache服务器配置

IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:
Apachehttpd.conf配置详解

Apachehttpd.conf配置详解常⽤配置指令说明1. ServerRoot:服务器的基础⽬录,⼀般来说它将包含conf/和logs/⼦⽬录,其它配置⽂件的相对路径即基于此⽬录。
默认为安装⽬录,不需更改。
语法:ServerRoot directory-path如: ServerRoot "/usr/local/apache-2.2.6"注意,此指令中的路径最后不要加 / 。
2. Listen:指定服务器监听的IP和端⼝。
默认情况下Apache会在所有IP地址上监听。
Listen是Apache2.0以后版本必须设置的指令,如果在配置⽂件中找不到这个指令,服务器将⽆法启动。
语法:Listen [IP-address:]portnumber [protocol]Listen指令指定服务器在那个端⼝或地址和端⼝的组合上监听接⼊请求。
如果只指定⼀个端⼝,服务器将在所有地址上监听该端⼝。
如果指定了地址和端⼝的组合,服务器将在指定地址的指定端⼝上监听。
可选的protocol参数在⼤多数情况下并不需要,若未指定该参数,则将为443端⼝使⽤默认的https 协议,为其它端⼝使⽤http协议。
使⽤多个Listen指令可以指定多个不同的监听端⼝和/或地址端⼝组合。
默认为:Listen 80如果让服务器接受80和8080端⼝上请求,可以这样设置:Listen 80Listen 8080如果让服务器在两个确定的地址端⼝组合上接受请求,可以这样设置:Listen 192.168.2.1:80Listen 192.168.2.2:8080如果使⽤IPV6地址,必须⽤⽅括号把IPV6地址括起来:Listen [2001:db8::a00:20ff:fea7:ccea]:803. LoadModule:加载特定的DSO模块。
Apache默认将已编译的DSO模块存放于4.1⽬录结构⼩节中所⽰的动态加载模块⽬录中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache转发配置
*变更类型:A - 增加M - 修订 D - 删除
目录
安装文件 (4)
安装步骤 (4)
配置 (8)
点击start启动apache (9)
启动转发目的服务器上的各项应用。
(9)
安装完成 (9)
安装文件
1、httpd-2.2.15-win32-x86-no_ssl.msi
安装步骤
1.打开安装文件
2.点击next
3.选中I accept the terms in the license agreement 点 next
4.点 next
5.输入域名,服务器的域名,管理员Email地址确认正确后点next
6.选择安装类型,默认是典型安装点next
7.修改安装路径,确定后点 next
8.再次确认路径
9.点next
10.点 install开始安装
11.点finish安装完成
配置
打开apache安装目录的conf文件夹下的httpd.conf
1、将以下两行前的注释字符 # 去掉:
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
2、在httpd.conf 文件的最后加上转发规则
例如:
ProxyPass /cas http://192.168.0.206:9090/cas
ProxyPassReverse /cas http://192.168.0.206:9090/cas
将/cas开头的请求转发到206服务器9090端口的cas上
依次类推,其他的转发也是通过这种方式设置,如:
ProxyPass /cas http://192.168.0.206:9090/cas
ProxyPassReverse /cas http://192.168.0.206:9090/cas
ProxyPass /aip http://192.168.0.206:9090/aip
ProxyPassReverse /aip http://192.168.0.206:9090/aip
ProxyPass /eagle http://192.168.0.206:8080/eagle
ProxyPassReverse /eagle http://192.168.0.206:8080/eagle
ProxyPass /idap http://192.168.0.155:6060/idap
ProxyPassReverse /idap http://192.168.0.155:6060/idap
点击start启动apache
启动转发目的服务器上的各项应用。
安装完成
访问http://IP/cas就相当于访问配置中的http://192.168.0.206:9090/cas
==================================================================== 例如配置:
ProxyPass /TomcatDemo1 http://198.102.10.16:1912/TomcatDemo ProxyPassReverse /TomcatDemo1 http://198.102.10.16:1912/TomcatDemo ProxyPass /TomcatDemo2 http://198.102.10.9:1914/TomcatDemo ProxyPassReverse /TomcatDemo2 http://198.102.10.9:1914/TomcatDemo ====================================================================
当访问http://198.102.10.16:8000/TomcatDemo1/就发送到http://198.102.10.16:1912/TomcatDemo
当访问http://198.102.10.16:8000/TomcatDemo2/就发送到http://198.102.10.9:1914/TomcatDemo
备注:在于AIP结合中子系统配置的路径不能写全路径比如:http://192.168.0.206:9090/eagle,要填成/eagle;写全路径浏览器会直接去访问设置的地址,不会在通过apache的转发。
其他的相关配置项也需做相应调整。