【问题标题】:IIS Node.js server download files relay error on Firefox and ChromeFirefox 和 Chrome 上的 IIS Node.js 服务器下载文件中继错误
【发布时间】:2020-10-19 06:09:10
【问题描述】:

我正在使用IIS 10 服务器作为 Node.js 服务器的网关。

当客户端调用zip文件等下载文件时,IIS服务器内部使用HTTP协议下载Node.js服务器,然后通过HTTPS传递给客户端。

但是在 Chrome 浏览器中,它显示错误

net::ERR_HTTP_1_1_REQUIRED 状态为 200,当我再次尝试下载时,它运行良好,直到我清除缓存。

在 Firefox 中,它也返回状态 200,但什么也没发生。

在 Microsoft Edge 和 IE11 中也能正常工作。

我在IIS 中设置了足够的超时和缓冲区大小。

Chrome 和 Firefox 可能在 HTTPS - HTTP 连接或其他方面出错?

【问题讨论】:

  • 我自己解决了。它只是由错误编写的 IIS 服务器 C#.net 代码引起的。
  • 想详细说明一下?我也有同样的问题。你的代码有什么问题?您是否更改了响应中的某些内容类型或其他内容?

标签: asp.net node.js iis networking server


【解决方案1】:

您的 Firefox 和 Chrome 中的某些扩展程序可能会导致此错误。此错误表示浏览器扩展阻止了该请求。最常见的罪魁祸首是像 AdBlock Plus 这样的广告拦截器。简而言之,您对服务器的请求已被扩展程序阻止。因此您可以尝试禁用这些扩展并重试。

【讨论】:

  • 您也可以尝试将您的浏览器升级到最新版本,这是一个类似问题的链接:ERR_HTTP_1_1_REQUIRED。
【解决方案2】:

.NET Core 团队似乎发现了一个相关问题并提供了解决方法。 也许同样可以应用于其他框架。 https://github.com/dotnet/aspnetcore/issues/4398

显然,当从浏览器执行 ajax 请求时,它有时会在实际请求之前发送一个带有 204 状态码的 OPTIONS 请求,这会导致问题。

对我来说,返回响应内容类型为“text/plain”而不是“application/octet-stream”的文件似乎解决了我的问题

我不太确定它为什么起作用,它就是起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    相关资源
    最近更新 更多