You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MLflow的404错误重定向到自定义错误页面

解决MLflow Ingress自定义404错误页跳转问题

你的问题核心在于当前配置仅处理Ingress自身产生的404,无法覆盖后端MLflow服务返回的404:

  • 访问https://example.com/mlflow/#/experiments/0时,hash部分由浏览器前端路由处理,MLflow前端逻辑触发了跳转,所以现有配置生效;
  • 访问https://example.com/mlflow/1234时,请求被Ingress转发到MLflow后端,由MLflow直接返回404响应,NGINX默认会透传该响应,不会触发你配置的error_page规则。

解决方案:拦截后端错误并触发跳转

需要添加NGINX拦截后端错误的配置,同时调整错误页规则,具体修改如下:

  1. 添加proxy-intercept-errors注解,让NGINX拦截后端返回的HTTP错误状态码
  2. 调整server-snippet中的error_page配置,确保正确处理后端返回的404

修改后的完整Ingress配置

kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: mlflow-ingress
  labels:
    helm.sh/chart: chart-0.1.0
    app.kubernetes.io/instance: mlflow
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/proxy-body-size: 150m
    layer.quantumblack.com/description: "Log your experiments and metrics"
    layer.quantumblack.com/name: "MLFlow"
    layer.quantumblack.com/service_type: "mlflow"
    layer.quantumblack.com/url: "https://example.com/mlflow/"
    nginx.ingress.kubernetes.io/custom-http-errors: "404, 500, 502, 503, 504"
    # 新增:拦截后端返回的错误响应
    nginx.ingress.kubernetes.io/proxy-intercept-errors: "true"
    nginx.ingress.kubernetes.io/server-snippet: |
      # 移除引号确保NGINX正确解析重定向规则
      error_page 404 502 https://example.com/404;
      error_page 403 https://example.com/403;

关键配置说明

  • nginx.ingress.kubernetes.io/proxy-intercept-errors: "true":强制NGINX拦截后端返回的所有4xx/5xx错误状态码,而非直接透传给客户端;
  • 调整后的error_page规则:移除原配置中的引号,确保NGINX正确识别重定向目标,捕获到对应错误时自动跳转至自定义错误页;
  • custom-http-errors:指定需要拦截处理的错误状态码列表,与proxy-intercept-errors配合生效。

验证步骤

修改配置后,执行命令更新Ingress:

kubectl apply -f mlflow-ingress.yaml

等待NGINX Ingress Controller重载配置后,访问https://example.com/mlflow/1234,应自动跳转到自定义404错误页。

内容的提问来源于stack exchange,提问作者Teo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:12:30