Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 为k8s入口上的特定文件类型添加头_Nginx_Nginx Ingress - Fatal编程技术网

Nginx 为k8s入口上的特定文件类型添加头

Nginx 为k8s入口上的特定文件类型添加头,nginx,nginx-ingress,Nginx,Nginx Ingress,我正在k8s上运行nginx入口和入口控制器。需要为特定文件类型(例如)添加额外的头。通常的方法(不在k8s上时)是利用location指令。但是,在k8s上运行以下操作会添加额外的位置,而不带任何参数,这在某种程度上是意料之中的,但会导致ingress controller尝试从其本地文件系统而不是远程pod为上游提供服务: 守则: nginx.ingress.kubernetes.io/server-snippet: | location ~* \.(pdf)$ {

我正在k8s上运行nginx入口和入口控制器。需要为特定文件类型(例如)添加额外的头。通常的方法(不在k8s上时)是利用
location
指令。但是,在k8s上运行以下操作会添加额外的位置,而不带任何参数,这在某种程度上是意料之中的,但会导致ingress controller尝试从其本地文件系统而不是远程pod为上游提供服务:

守则:

nginx.ingress.kubernetes.io/server-snippet: |
  location ~* \.(pdf)$ {
             add_header a "b";
  }
结果是:

            location ~* \.(pdf)$ {
                    add_header a "b";
            }

            location / {
            # some stuff
            }
我想在
add_header
指令下面添加一个额外的重写,但这会导致无限重定向循环

所以让我们后退一步。根据文档,可以在以下上下文中添加标题:
http、服务器、位置(如果在位置中)

  • 前两个是不可能的,因为我只需要为特定的文件类型添加头,而不需要全局添加头
  • 位置
    -如上所述
  • 嵌套的
    位置
    -在k8s上不起作用
  • 如果
    ?这是一种非常不完美的方法,尽管尝试过,但迄今为止对我不起作用-部署后,ingress controller的nginx.conf中没有出现合适的代码(不确定原因)
到目前为止,我没有其他的想法。如蒙提示,将不胜感激

编辑: 似乎在使用
nginx.ingres.kubernetes.io/配置代码段
进行配置时,
如果
正确添加到
位置
上下文中。我之前尝试的是使用
nginx.ingres.kubernetes.io/location snippet
,但没有产生任何结果。无论如何,我已经实现了一个工作配置。这是否是一个最佳方案的问题仍然悬而未决