Joh*_*ino 6 mod-proxy centos5 apache-2.2
我正在尝试在 WHM/CPanel CeEntOS Linux 服务器上安装 Mod_Proxy Apache 模块。这是系统信息:
CentOS release 5.6 (Final)
Server version: Apache/2.2.21 (Unix)
Cpanel::Easy::Apache v3.7.2 rev9999
Run Code Online (Sandbox Code Playgroud)
我安装的目的是,当我在 abc.com 站点上单击一个指向 auto.efg.com 站点的链接(假设它的 IP 地址是 192.168.0.101)时,浏览器将在 auto.efg 上加载应用程序。 com 同时在浏览器的地址栏上维护 abc.com。
所以我跟着这个教程:
http://www.hackersgarage.com/install-mod_proxy-apache-module-on-whmcpanel-ceentos-linux-server.html
所以当我完成它时,我能够做到这一点:
root@ip-xxx-xxx-xxx [/tmp/httpd-2.2.21/modules/proxy]# ls -l
/usr/local/apache/modules/mod_proxy*
-rwxr-xr-x 1 root root 88708 Jan 5 08:22 /usr/local/apache/modules/mod_proxy.so*
-rwxr-xr-x 1 root root 49654 Jan 5 08:23 /usr/local/apache/modules/mod_proxy_connect.so*
-rwxr-xr-x 1 root root 73196 Jan 5 08:23 /usr/local/apache/modules/mod_proxy_http.so*
Run Code Online (Sandbox Code Playgroud)
现在,按照这些说明操作并尝试重新启动服务器后,出现以下错误:
/etc/init.d/httpd restart
httpd: Syntax error on line 35 of /usr/local/apache/conf/httpd.conf: module proxy_module is built-in and can't be loaded
Run Code Online (Sandbox Code Playgroud)
你看,这是因为我已经加载了 proxy_module 的模块。proxy_http_module 在 httpd.conf 中,所以我在 /usr/local/apache/conf/httpd.conf 中注释掉了它们:
# LoadModule proxy_module modules/mod_proxy.so
# LoadModule proxy_http_module modules/mod_proxy_http.so
# LoadModule proxy_connect_module modules/mod_proxy_connect.so
Run Code Online (Sandbox Code Playgroud)
现在那个错误消失了。
我的虚拟主机设置如下所示:
<VirtualHost 50.63.53.79:80>
ServerName abc.com
ServerAlias www.abc.com
DocumentRoot /home/eagl0028/public_html
ServerAdmin webmaster@abc.com
## User eagl0028 # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup eagl0028 eagl0028
</IfModule>
<IfModule !mod_disable_suexec.c>
SuexecUserGroup eagl0028 eagl0028
</IfModule>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / http://192.168.0.101/
ProxyPassReverse / http://192.168.0.101/
CustomLog /usr/local/apache/domlogs/abc.com-bytes_log "%{%s}t %I .\n%{%s}t %O ."
CustomLog /usr/local/apache/domlogs/abc.com combined
ScriptAlias /cgi-bin/ /home/eagl0028/public_html/cgi-bin/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时:
service httpd stop
service httpd start
Run Code Online (Sandbox Code Playgroud)
然后发布到相对网址:
<form accept-charset="UTF-8" action="/users/sign_in" class="user_new" id="user_new" method="post">
Run Code Online (Sandbox Code Playgroud)
我期待它发布到 192.168.0.101 但它没有。我检查了 192.168.0.101 服务器日志并且没有请求进来的迹象。所有发生的都是 404 not found 错误,顶部的 url 是 abc.com/users/sign_in
的href
作用http://auto.efg.com/users/sign_in/
是让你的浏览器远离代理——确保页面上的每个链接都让你的浏览器与代理对话不是 Apache 的工作。(有一些第三方模块会更改传输中页面上的 URL,但除了平面 HTML 中的链接外,它们不会对任何内容起作用)
您可以更改链接以保持方案和主机完好无损吗?
<a href="/users/sign_in/">clicky</a>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1745 次 |
最近记录: |