无效的URI:无法通过我们的自定义重写IHttpModule解析主机名

Tom*_*len 5 url url-rewriting hostname ihttpmodule

这是我们在网站上偶尔看到的奇怪错误。

关于此错误的奇怪的事情是它被抛出在我们的URL重写IHttpModule中。有问题的行是:

var host = context.Request.Url.Host;
Run Code Online (Sandbox Code Playgroud)

如果我记录context.Request.Url何时引发此异常,则它是一个空字符串。

仅通过我们的global.asax文件调用此重写方法:

void Context_AuthorizeRequest(object sender, EventArgs e)
     => URLRewriting.Process();
Run Code Online (Sandbox Code Playgroud)

什么可能导致Request.Url.Host空白?

附带说明,我们在网站上发现了许多其他错误,这些错误表明有人正在使用自动化工具扫描我们的网站,以发现弱点和漏洞。我有种感觉,这可能是有联系的,尽管我不确定为什么Request.Url.Host会一直空着。

第二点,发出最后一个请求的用户IP是大学网络(在我们的网站上并不罕见)。

Grz*_*lko 0

我会关注这个事实:它context.Request.Url是空的。

您是否还有其他IHttpModules 可以对HttpContext管道中的较早部分执行某些操作?

是否可能存在相对的 HTTP 请求,如此处所述

当主机和 URL 为空时,您是否知道有关请求的更多信息?