【问题标题】:Differentiate nginx behaviour depending on URL根据 URL 区分 nginx 行为
【发布时间】:2010-10-06 10:03:26
【问题描述】:

我有一个 Django 应用程序,我使用 nginx 来提供静态内容。不幸的是,所有注册的 MIME 类型都会显示在客户端浏览器中,而我希望能够下载相同的内容,以及通常的行为。说,我在/media/images/image01.jpg 下有 JPEG 文件,我希望 nginx 以通常的方式提供这个文件,带有标准的 image/jpeg 标头,但另外我希望 same 图像由 nginx 提供 @当以/downloads/images/image01.jpg 访问时,987654323@(有效地强制内容下载)。任何人都可以提出解决方案?

【问题讨论】:

    标签: django http-headers nginx


    【解决方案1】:

    确保您已编译 http_headers_module。(如果不在核心中,则应默认为)

    使用“add_header content-disposition attachment;”

    我建议使用像“/download?file=/downloads/images/image01.jpg”这样的网址并结合重写规则来避免以后出现一些烦人的错误。

    Http Headers Module Documention

    【讨论】:

    • 为什么以及如何将 URL 与查询参数一起使用?为用户提供文件名错误的文件?
    • 使用带有查询参数的 url 的原因是告诉 nginx 仅在使用 /download?file={filename} 时强制下载通过正确使用重写规则,您可以添加标头并仍然运行通过 nginx 配置中的其余规则。
    • 可以省略 url 的 "file=" 部分并使用 "/download?{filename}" 代替。格式是任意的,目标是以某种方式让 nginx 知道您需要一个与正常不同的标头。
    猜你喜欢
    • 2016-06-22
    • 2016-05-28
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多