我正在使用 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。模块和conf已加载。我可以从DocumentRoot的目录中获取目录列表也很奇怪。
我错过了什么?它适用于具有相同操作系统和 Apache 版本的旧服务器。
当我尝试了几个选项时
apachectl -t
,apachectl -t -D DUMP_VHOSTS
显示虚拟主机正在侦听 IP 地址 127.0.1.1。这不是到达服务器的 IP 地址。IP地址是在
/etc/hosts
文件中定义的,当我把它放在评论中时,Apache2按预期响应。我不知道为什么要定义此地址或将其用于何处,但现在可以使用。作为一个副作用,我摆脱了 AJP13 的所有内容
ProxyPass
。