Apache:无效命令 ProxyRequests

问题描述 投票:0回答:4

我为詹金斯设置了一个新的虚拟主机:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName ci.company.com
    ServerAlias ci
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass / http://localhost:8080/
</VirtualHost>

...它使用代理,当我重新启动 apache 时,我收到如下错误:

Invalid command 'ProxyRequests', perhaps misspelled or defined by a module not included in the server configuration
apache
4个回答
256
投票

您应该启用代理。运行命令:

 sudo a2enmod proxy
 sudo /etc/init.d/apache2 restart

18
投票
 sudo a2enmod proxy
 sudo a2enmod proxy_http
 systemctl restart apache2

如果您不启用 proxy_http,您会在该站点的 apache 错误日志文件中收到此错误:

AH01144:没有协议处理程序对 URL /(方案“http”)有效。 如果您使用的是 DSO 版本的 mod_proxy,请确保代理 使用 LoadModule 将子模块包含在配置中。

使用旧虚拟主机进行新安装后,通常可以通过以下消息发现此错误:

命令“ProxyPreserveHost”无效,可能拼写错误或由服务器配置中未包含的模块定义


16
投票

代理模块必须被禁用。 使用以下命令启用它

a2enmod proxy

如果您没有root权限,可以使用

sudo a2enmod proxy

之后使用

重新启动apache服务器
service apache2 reload

0
投票

如果您不在 Ubuntu 中工作,您可以检查以确保默认配置文件中启用了 mod_proxy_html。

  1. 找到httpd.conf文件(通常你会在一个文件夹中找到它 称为conf,对于 apache 文档中所述的默认安装,它可以放置在 /usr/local/apache2/conf 中)
  2. 在 httpd.conf 文件中通过删除井号“#”来取消注释该行 从该行前面签名(默认文件在第 122 行左右)

加载模块 proxy_html_module 模块/mod_proxy_html.so

然后重新启动apache。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.