代理:无 HTTP 0.9 请求(无主机线)

Con*_*tah 5 mod-proxy apache-2.2

我的 error.log 中出现了一堆这样的错误:

[客户端 1.2.3.4] 代理:传入请求上没有 HTTP 0.9 请求(没有主机线路),并且保护软管设置强制 uri / 的主机名为 www.mydomain.com

我的配置基本上是:

ProxyRequests Off

<VirtualHost 1.2.3.4:80>
ServerName www.mydomain.com
DocumentRoot "c:/apache/htdocs"

ProxyPreserveHost On
ProxyPass / http://172.1.1.1/
</VirtualHost>

<VirtualHost 1.2.3.4:443>
ServerName www.mydomain.com
DocumentRoot "c:/apache/htdocs"
# SSL Stuff

ProxyPreserveHost On
ProxyPass / http://172.1.1.1/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

有人知道如何消除这些警告吗?

Sha*_*den 5

这些警告只是努力通知您 Apache 做了一些不太好的事情(Host在没有标头的请求中注入标头),以确保客户端可以访问代理内容。

由于ProxyPreserveHost On已设置,Apache 假定后端服务器不能接受 的标Host172.1.1.1,也不知道如何与后端服务器使用 HTTP/0.9 进行对话。所以它是即兴发挥的,希望它能起作用正确,但通知您这一点。

通常,这些可以被忽略,不幸的是,这可能会给您的日志添加噪音。此外,来自人类网络浏览器的此类请求极为罕见(例外情况可能是一些较旧的代理);更有可能的是它是某种机器人。