在 centos 中加载 apache 的 mod_proxy 和 mod_proxy_http 模块

在 centos 中加载 apache 的 mod_proxy 和 mod_proxy_http 模块

这是我的系统:

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/

相关内容