标签: APMServ5.2.6

Apache下设置反向代理的方法

<VirtualHost *:80>
 ServerName 127.0.0.255
 ServerAlias
 ErrorLog logs/iis.log
 CustomLog logs/iis.access.log common
 ProxyPass / http://www.lrxin.com/
 ProxyPassReverse / http://www.lrxin.com/
</VirtualHost>

 

ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

这几个都是APACHE的代理指令:

1、ProxyPass:  

语法:ProxyPass [path] !|url

它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向代理到后端的url后,path是不会带过去的,使用示例:

1)、ProxyPass /images/ !

 这个示例表示,/images/的请求不被转发。

2)、ProxyPass /mirror/foo/ http://backend.example.com/

我们假设当前的服务地址是http://example.com/,如果我们做下面这样的请求:

http://example.com/mirror/foo/bar

那将被转成内部请求:

http://backend.example.com/bar

注:配置的时候,不需要被转发的请求,要配置在需要被转发的请求前面。

2、ProxyPassMatch:

语法:ProxyPassMatch [regex] !|url

这个实际上是url正则匹配,而不是简单的前缀匹配,匹配上的regex部分是会带到后端的url的,这个是与ProxyPass不同的。使用示例:

1、ProxyPassMatch ^/images !

这个示例表示对/images的请求,都不会被转发。

2、ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1

这个示例表示对所有gif图片的请求,都被会转到后端,如此时请求http://example.com/foo/bar.gif,那内部将会转换为这样的请求http://backend.example.com/foo/bar.gif。

3、ProxyPassReverse

语法:ProxyPassReverse [路径] url 

它一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL,这样可以避免在Apache作为反向代理使用时,。后端服务器的HTTP重定向造成的绕过反向代理的问题。参看下面的示例:

ProxyPass /example http://www.example.com/
ProxyPassReverse /example http://www.example.com/

ProxyPassReverse的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问http://www.test.com/example/a,如果www.example.com对请求进行了redirect至http://www.example.com/b,那么,客户端就会绕过反向代理,进而访问http://www.test.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/example/a/b,即是在原请求之后追加上了redirect的路径。

 

快速搭建APMServ+PHP+MySQL环境APMServ5.2.6_zip.exe

快速搭建APMServ+PHP+MySQL环境工具APMServ5.2.6_zip.exe

文件大小:20.53M

下载地址:http://pan.baidu.com/share/link?shareid=352338&uk=1010090726

==================================

APMServ 5.2.6 搭建APMServ+PHP+MySQL环境整合包介绍 :

   APMServ 5.2.6 是一款拥有图形界面的快速搭建Apache 2.2.9、PHP
5.2.6、MySQL 5.1.28&4.0.26、Nginx、Memcached、phpMyAdmin、OpenSSL、
SQLite、ZendOptimizer,以及ASP、CGI、Perl网站服务器平台的绿色软件。

1、注意事项:APMServ程序所在路径不能含有汉字和空格。
2、MySQL默认用户名:root,密码为空
3、MySQL数据库文件存放目录:MySQL5.1\data或MySQL4.0\data
4、网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin
5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)
6、非默认端口,网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/
7、如果在“扩展功能”中选择使用Memcached,它的端口为:11211
8、APMServ集成了以下软件:

Apache 2.2.9          [HTTP服务器]
Nginx 0.7.19          [HTTP服务器]
NetBox 2.8 Build 4128 [HTTP服务器+ASP脚本解释引擎]
PHP 5.2.6             [PHP脚本解释引擎]
MiniPerl 5.8          [Perl脚本解释器]
Memcached 1.2.4       [key-value内存缓存系统]
MySQL 5.1.28          [MySQL数据库服务器]
MySQL 4.0.26          [MySQL数据库服务器]
phpMyAdmin 2.11.9.2   [MySQL数据库在线管理工具]
eAccelerator 0.9.5.3  [PHP脚本加速引擎]
ZendOptimizer 3.3.3   [PHP脚本加速引擎]
OpenSSL 0.9.8h        [HTTPS(SSL)安全传输协议]

APMServ5.2.6开启伪静态教程,让网站支持.htaccess

一般来说都是本地测试,所以直接修改 \APMServ5.2.6\Apache\conf\httpd.conf 这个文件,找到:

#APMServ默认虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
ServerName *
DocumentRoot “D:/APMServ/www/htdocs”
<Directory “D:/APMServ/www/htdocs”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm default.htm index.php
default.php index.cgi default.cgi index.pl default.pl index.shtml
AllowOverride None
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>

 

把AllowOverride None修改成AllowOverride All

然后重启Apache即可(记得要自己修改网站的.htaccess文件)

 

如果你添加过虚拟主机,那么 还需要修改APMServ5.2.6\Apache\conf\apmserv\vhost.conf这个文件。