Kubernetes 是否有办法禁用nginx ingress controller默认后端并使用静态页面查找错误(4xx和5xx)?

Kubernetes 是否有办法禁用nginx ingress controller默认后端并使用静态页面查找错误(4xx和5xx)?,kubernetes,nginx-ingress,Kubernetes,Nginx Ingress,假设我想禁用nginx控制器的默认后端,只为错误提供一个静态页面。可能吗?我已经尝试在pod文件系统中挂载该页面,并将其添加到nginx控制器configmap(使用helm): 但这不起作用,即使我已经设法在/var/www/defalut中获得了error.html文件。如果您能给我指出正确的方向,我将不胜感激。 另一个解决方法是构建一个定制的Deafult后端,但仅仅提供一个静态网页就太过分了。看起来您可能有输入错误。您键入了server snippet,在中我看到它的末尾有s(复数)(s

假设我想禁用nginx控制器的默认后端,只为错误提供一个静态页面。可能吗?我已经尝试在pod文件系统中挂载该页面,并将其添加到nginx控制器configmap(使用helm):

但这不起作用,即使我已经设法在
/var/www/defalut
中获得了
error.html
文件。如果您能给我指出正确的方向,我将不胜感激。

另一个解决方法是构建一个定制的Deafult后端,但仅仅提供一个静态网页就太过分了。

看起来您可能有输入错误。您键入了
server snippet
,在中我看到它的末尾有s(复数)(
server snippets
)。你的问题中有错吗?或者你从配置中复制粘贴了它,你的配置中有一个输入错误。我有它,没有s,它工作了。我可以在nginx.conf中看到添加到每个主机的代码段。对不起,你是对的,我查看了错误的配置选项。不管怎么说,我复制了这个,它对我很有效。当主pod被删除时,它默认为error.html。您是否可以检查error.html的文件权限,并确保用户
uid=33(www-data)
可以读取此文件?这适用于SNI请求。它不适用于裸IP请求或不支持SNI的浏览器,SNI仍将通过默认后端。我也想知道如何禁用默认后端。
server-snippet: |
      error_page 404 500 501 502 503 504 505 506 507 508 510 511 /error.html;
      location = /error.html {
       internal;
       root /var/www/default;
      }