【问题标题】:Apache request header missing Host:, need to process requestApache 请求头缺少 Host:,需要处理请求
【发布时间】:2015-02-18 04:56:42
【问题描述】:

我有几台设备,上面有一个小型 http 客户端。我们用我的自定义网络服务器对它们进行了测试,一切都很好。现在我想迁移到 apache 作为我的网络服务器,我的请求被关闭了:

客户端发送的 HTTP/1.1 请求没有主机名(参见 RFC2616 第 14.23 节)

我知道发生此错误是因为我在标题中缺少“主机:www.blah.com”条目。这是 HTTP 1.1 规范所必需的

RFC2616 第 14.23 节 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

问题是我无法更改硬件上的固件,所以 http 客户端就是这样。如果我事先熟悉此要求,我会实施它。我的问题是:

如何配置 apache(我认为是 authz_host 模块)以允许在其标头中没有 Host: 条目的请求?

【问题讨论】:

标签: apache http


【解决方案1】:

直接的答案是我不认为你可以让 apache 忽略协议。你的客户坏了。但是,跳出框框思考一下,如果一切都失败了,也许您可​​以在 python 中编写一个小型 http 代理,它只会修复您的 http 请求并将它们发送到正确的主机并告诉您的客户端使用代理。

【讨论】:

  • 是的,我正在考虑编写一个应用程序来修复和重定向请求。我很可能只是调整客户端以使用不同的端口,我可以通过设置文件对其进行配置。然后创建一个服务来修复并重定向到 apache 端口
  • 如果我的评论有用,请考虑给我点赞。 ;-)
  • 看来我不能,除非我的代表 >= 15
  • 哇,你不能投票给我的答案吗?哦,好吧,我希望你能得到一个你可以“接受”的答案。
  • 啊哈,感谢您接受我的回答。希望解决方法对您有用。
猜你喜欢
  • 1970-01-01
  • 2018-02-03
  • 2018-10-31
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 2019-07-06
  • 1970-01-01
相关资源
最近更新 更多