如何在Apache上进行Proxypass?

我GOOGLE了,我不能碰到任何指令configurationApache的代理通行证。

我设法find过渡域到新的Web主机,而不等待DNS传播,但我不明白他们在说什么,特别是以下内容:

1)我怎么能启用代理,proxy_http和重写模块

2)在哪里可以findapacheconfiguration文件和这一行?

RewriteEngine on ProxyPassReverse / http://<your-fqdn-here>/ ProxyPass / http://<your-fqdn-here>/ 

我的意思是你可以指导我通过configurationProxyPass?

更新

我在CentOS上运行Apache版本:

 Server version: Apache/2.2.22 (Unix) Server built: Feb 10 2012 16:45:29 Cpanel::Easy::Apache v3.9.1 rev9999 

我尝试通过以下教程来安装代理模块:http://www.hackersgarage.com/install-mod_proxy-apache-module-on-whmcpanel-ceentos-linux-server.html

但是我得到这个错误:

 ./configure --enable-mods-shared="proxy proxy_http proxy_connect" -bash: ./configure: /bin/sh: bad interpreter: Permission denied 

所以我只是忽略它,继续其余的命令。 当我尝试重新启动apache时:

 root@db [/tmp/httpd-2.2.22]# /etc/init.d/httpd restart httpd: Syntax error on line 36 of /usr/local/apache/conf/httpd.conf: module proxy_module is built-in and can't be loaded 

刚刚添加到httpd.conf中,它的工作

 < VirtualHost *:80 > ServerName domain.com ServerAlias www.domain.com 

<IfModule mod_proxy.c> ProxyPass / http://www.newdomain.com/ ProxyPassReverse / http://www.newdomain.com/ </ IfModule> </ VirtualHost>

看看这个:

http://library.linode.com/web-servers/apache/proxy-configuration/multiple-webservers-proxypass-centos-5

这是CentOS5,但CentOS6将具有类似的configuration,因为Apache没有明显改变。

基本上,你不应该试图编译mod_proxy。 CentOS的httpd服务器已经把它作为一个编译模块。 你只需要使用上面的文件激活代理指令。 所以,你应该退出编译模块时所做的任何更改。

我会尽可能地用你提供的信息来解决你的问题。

首先,关于启用模块,这将随分布而变化。 例如,在RHEL / CentOS上,基本httpd包中包含重写和代理模块,您不需要执行其他任何操作。

在Debian上,相比之下,您需要将configuration文件从mods-available符号链接到mods-enabled。 有一个名为a2enmod的工具来帮助解决这个问题,例如:

 a2enmod proxy a2enmod rewrite 

如果您使用的是Debian,则应该/etc/apache2/mods-available/中的configuration文件,以查看哪些模块可以启用。 我相信Ubuntu服务器是完全一样的。

就第二个而言,您可以将代理configuration放在要代理的<VirtualHost>声明中。 这也可以通过分配或偏好而变化。 大多数RHEL / CentOS系统都会鼓励在/etc/httpd/conf.d/使用特定于站点的my-website.com.conf文件。 Debian用户应该把文件放在/etc/apache2/sites-enabled/ (或者在sites-available ,并且用a2ensite创build一个符号链接)。 这些辅助工具的完整指南可以在这里find。