我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>
看看这个:
这是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。