使用 IIS 在 Windows 上托管 APT 存储库?

使用 IIS 在 Windows 上托管 APT 存储库?

我已经创建了可以在 Windows 上运行的基本 apt 存储库(只有一个文件夹)。然后我采用了更标准的方式创建 apt 存储库(带有池和 dists 文件夹),但当我将其传输到 Windows 时,它不起作用。我收到错误 404,但在 Linux 上使用该精确副本时,它工作正常。有什么建议吗?

之后,我将 ISS 中的 MIME 设置为 .* 作为 application/octet-stream,但之后我得到:

    Nap:3 repositorylink stable InRelease              
  406  Not Acceptable

答案1

“406 Not Acceptable” 指的是 apt 客户端的一个客户端问题。因此,请在您的 apt.conf 中添加:Debug::Acquire::Http "true";

然后你可能会看到类似这样的主机头:

Host: 127.0.0.1
Cache-Control: max-age=0
Accept: text/*
If-Modified-Since: Thu, 23 Apr 2020 07:06:32 GMT
User-Agent: Debian APT-HTTP/1.3 (2.0.2ubuntu0.1)

这说明 Release 文件需要的是“text/*”,而不是“application/octet-stream”

如果您在 IIS 中为“application/octet-stream”配置了默认值,则它将失败并出现您看到的错误。将其更改为“text/plain”,您应该会取得进一步的进展。

此外,如果您使用虚拟目录,则似乎需要在虚拟目录下重新创建 catch-all mime 类型,因为它似乎无法被继承。

相关内容