mORMot 在端口 80 而不是 IIS 上响应 HTTP 请求

mORMot responding to HTTP requests on port 80 instead of IIS

我们公司的网站是运行在IIS 7.5上,最近没有修改任何配置,网站开始报错404,错误图片如下:

除了端口 80,网站在每个端口 都可以使用 HTTPS 和 HTTP 正常工作,我们从未使用过 MorMot

你知道这个问题是从哪里来的吗?

使用 http.sys 时,Windows 上有一个 URI 注册机制。是a kernel/system component, handling HTTP/HTTPS requests。 此注册由 IIS 和其他使用 http.sys 的程序共享,例如 WCFmORMot 项目。

从返回的 HTML 来看,服务器上显然有一个 mORMot 驱动的可执行文件 运行ning,它绑定到端口 80。你必须识别这个程序并修复它的配置,使用另一个端口或端口 80 上的另一个子 URI,与 IIS 共享。

http.sys 的一大好处 - 除了性能之外 - 您可以在可执行文件之间共享同一(子)域上的 URI,但您需要注册子 URI。这是 Windows 下的标准机制 - 请检查 this reference page for instance

另一种可能是使用 IIS 作为反向代理,并且 运行 在本地非路由端口上使用 mORMot 驱动的可执行文件,如果您在 http.sys 配置方面遇到问题(这不是简单)。