Apache 2.4 忽略 mod_proxy?

Apache 2.4 忽略 mod_proxy?

我正在使用 Debian 10 安装新服务器。我配置了一个虚拟主机以将一些请求定向到 TomEE (8.0.6) 服务器。该服务器在端口 8080 上响应。Apache 配置如下所示:

<VirtualHost www.sample.com:80>
    ServerAdmin     [email protected]
    ServerName      www.sample.com

    DocumentRoot    /var/www/html

    <Directory />
        Options         None
        AllowOverride   None
        Require         all granted
    </Directory>

    <Directory /var/www/html/>
        Options         -Indexes
        AllowOverride   None
        Require         all granted
    </Directory>

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel        trace5

    ProxyPreserveHost       On
    ProxyRequests           Off
    ProxyVia                Full

    <proxy *>
        Require all granted
    </proxy>

    ProxyPass           /manager    http://www.sample.com:8080/manager
    ProxyPassReverse    /manager    http://www.sample.com:8080/manager
</VirtualHost>

error.log收到以下消息:

AH00925: initializing worker http://www.sample.com:8080/manager shared
AH00927: initializing worker http://www.sample.com:8080/manager local
AH00930: initialized pool in child 24391 for (www.sample.com) min=0 max=25 smax=25

当我使用该 URL 时,http://www.sample.com/manager出现错误 404,并显示以下error.log消息:

AH00128:文件不存在:/var/www/html/manager

看起来mod_proxy未获取 URL。模块会议已加载。同样奇怪的是,我可以从我的目录中获取目录列表文档根目录

我错过了什么?它可以在具有相同操作系统和 Apache 版本的旧服务器上运行。

答案1

当我尝试了 的几个选项时apachectl -t,显示apachectl -t -D DUMP_VHOSTS虚拟主机正在监听 IP 地址 127.0.1.1。这不是服务器所处的 IP 地址。

IP 地址在/etc/hosts文件中定义,当我将其放入注释中时,Apache2 便按预期做出响应。

我不知道为什么会定义这个地址,也不知道它用于何处,但现在它可以正常工作了。作为副作用,我摆脱了 AJP13 的东西,现在一切都正常了ProxyPass

相关内容