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

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

我的 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>

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

答案1

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

由于ProxyPreserveHost On设置了,Apache 假定后端服务器不会同意使用Host标头172.1.1.1,也不知道如何与后端服务器通信 HTTP/0.9。因此,它进行了一些即兴发挥,希望它能够正常工作,但会通知您这一点。

通常,这些都可以忽略,但不幸的是,这会给您的日志增加噪音。此外,这样的请求很少来自人类的 Web 浏览器(例外可能是某些较旧的代理);更有可能是某种机器人。

相关内容