小编Eti*_*rot的帖子

nginx:在重写的位置块中指定自定义标头

我正在尝试仅为locationnginx 中的特定块设置一些标头。

我遇到的问题是这些location块包含rewrite语句,显然似乎删除了自定义标题。

在这个例子中,我有两个我想要的规则:

  • 里面的文件/static应该有expires max;(它设置标题Cache-Control: max-age=some huge valueExpires: some future date really far off),并将它们的名字重写为不包含的内容/static
  • 其他地方的文件都应该有Cache-Control: public(没有max-age

这是我尝试的配置:

server {
    listen [::]:80;
    root /somepath;
    location /static {
        expires max;
        rewrite /static(.*) /whatever$1;
    }
    add_header Cache-Control public;
}
Run Code Online (Sandbox Code Playgroud)

并具有以下目录结构:

/somepath
/somepath/f1.txt
/somepath/static/f2.txt
Run Code Online (Sandbox Code Playgroud)

然后我们得到以下信息:

  • f1.txt: Cache-Control: public, 没有Expires标题
  • f2.txt: Cache-Control: public, 没有Expires标题

这对f1.txt但无效 …

http configuration nginx cache http-headers

5
推荐指数
1
解决办法
5946
查看次数

标签 统计

cache ×1

configuration ×1

http ×1

http-headers ×1

nginx ×1