我试图从默认的NGINX错误页面重定向到自定义错误页面,而不自定义默认后端如下:
nginx.ingress.kubernetes.io/server-snippet: |
error_page 404 "https://example.com/404";
error_page 403 "https://example.com/403";
但是,添加auth-signin标志将取消该功能:
nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri
我希望在OAuth2Proxy重定向和error_page指令仍然被应用之后,HTTP代码仍然被识别。
有没有一种方法,我可以实现这一点,而不释放自定义默认后端?
到目前为止,我尝试了几种方法:1)添加proxy_intercept_errors;2)修改nginx pod中的nginx.conf3)添加自定义http-errors(我已经知道这不是我所追求的)
UPDATE
用nginx.ingress.kubernetes.io/configuration-snippet
代替nginx.ingress.kubernetes.io/server-snippet
可以解决这个问题。
这个答案帮助我更好地理解了两者之间的区别: