这是我的系统:
CentOS release 5.6 (Final)
Server version: Apache/2.2.21 (Unix)
Cpanel::Easy::Apache v3.7.2 rev9999
我正在尝试创建一个反向代理,以将文件从另一台服务器加载到我的服务器上,正如我之前在这里解释的那样:
然而,当我写这篇文章的时候,我原本想使用 ubuntu,但现在发现它将是 centos。我打算按照这篇文章来做:
http://jeffbaier.com/articles/configuring-apache-virtual-hosts-for-nat/
但在以下这一行:
“我们需要确保 mod_proxy 和 mod_proxy_http 已加载。如果代理模块已加载,您将看到它们被列出。如果没有找到任何内容,则意味着您需要从 mods-available 文件夹创建到 mods-enabled 文件夹的符号链接。”
它解释了如何检查这两个模块是否已加载,如果没有,如何创建符号链接来加载它们。但是,它解释了如何在 ubuntu 上执行此操作。
如果我甚至尝试在 centos 上这样做:
cd /etc/apache2/
-bash: cd: /etc/apache2/: No such file or directory
etc.中没有apache2文件夹。
因此我正在尝试弄清楚如何在 centos 上做到这一点。
感谢回复
答案1
确保/etc/httpd/conf/httpd.conf
已启用以下几行(前面没有#):
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
以下链接可能对你也有帮助:
http://www.linuxtopia.org/online_books/centos5/centos5_administration_guide/centos5_ch-httpd.html
值得注意的是,CentOS 是 RedHat 操作系统的公开版本,因此您找到的任何 RedHat 5 文档几乎总是完全适用于 CentOS。顺便说一句,CentOS 6 已经发布,所以您可能也想考虑升级!
对于虚拟主机配置;将其放在末尾httpd.conf
:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName domain2.com
DocumentRoot /var/www
ProxyRequests Off
Order deny,allow
Allow from all
ProxyPass / http://192.168.1.120:8080/
ProxyPassReverse / http://192.168.1.120:8080/
</VirtualHost>
看看它是如何工作的。当然,您必须将 domain2.com 更改为您自己的域,并将 192.168.1.120 更改为您自己的基础设施使用的 IP 地址。
答案2
在centos下,你不会找到路径/etc/apache2
。你可以找到/etc/httpd
。
答案3
RHEL/CentOS-使用 webSocket 需要 Apache 2.4x(不是 Apache 2.2)
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
进而:
ProxyPass / ws://192.168.1.120:8080/
ProxyPassReverse / ws://192.168.1.120:8080/