Nginx 正在检测正在 `curl`/`wget` 或以其他方式下载内容的客户端数量?

Nginx 正在检测正在 `curl`/`wget` 或以其他方式下载内容的客户端数量?

我计划托管一些需要每 24 小时更新一次的引导文件,也许更频繁。我计划使用 nginx 提供这些文件,如何确保仅在当前没有用户下载文件时才替换文件,或者以其他方式检测当前有多少用户正在下载内容以供我自己的指标使用,以便在需要替换时我可以切换 old/ 和 current/ 引导文件。

答案1

使用规范 URL,您可以随时通过该 URL 提供 302 重定向到要提供的文件的特定版本的 URL。例如:

server {
    ....

    location = /download/file.img {
        return 302 /download/file-v1.3.18.img;
    }
}

向您的客户端提供链接/download/file.img。每当您想要更改版本时,请更新 nginx 配置并重新加载 nginx。

在您进行更改时,是否存在同时下载并不重要。下载将继续进行,直到完成,新客户端将获得新文件。

您的日志文件将显示任何客户端下载的具体版本,并且您可以在其上使用日志分析工具。

相关内容