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

NGINX Ingress自定义URI路由后端服务异常:Wiki服务404问题

自定义URI路由后端服务的解决方案

可以通过自定义URI路由到不同后端服务,你的场景完全可行,问题出在MediaWiki的重定向逻辑与Ingress路径处理的不匹配上。

问题分析

当前Ingress配置中,/wiki前缀流量已路由至mediawiki-svc,但MediaWiki内部生成重定向URL时:

  1. 丢失了/wiki路径前缀,导致重定向到/index.php/Main_Page而非/wiki/index.php/Main_Page
  2. 错误地将HTTPS协议转为HTTP,进一步导致路径识别异常,最终触发404

修复步骤

1. 调整Ingress配置(以Nginx Ingress为例)

通过添加路径重写和代理头配置,让后端服务正确识别外部访问的协议与路径前缀:

- host: myhost.com
  http:
    paths:
    - backend:
        service:
          name: mediawiki-svc
          port:
            number: 80
      path: /wiki(/|$)(.*)
      pathType: ImplementationSpecific
      annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /$2
        nginx.ingress.kubernetes.io/ssl-redirect: "true"
        nginx.ingress.kubernetes.io/proxy-set-header: "X-Forwarded-Proto $scheme"
        nginx.ingress.kubernetes.io/proxy-set-header: "X-Forwarded-Host $host"
        nginx.ingress.kubernetes.io/proxy-set-header: "X-Forwarded-Prefix /wiki"
    - backend:
        service:
          name: plex-svc
          port:
            number: 32400
      path: /
      pathType: Prefix
  • rewrite-target:将/wiki/xxx格式的请求重写为/xxx传给MediaWiki后端
  • X-Forwarded-*头:让MediaWiki获取外部访问的真实协议(HTTPS)、主机名和路径前缀
  • ssl-redirect:强制HTTP请求重定向到HTTPS

2. 修改MediaWiki配置(LocalSettings.php)

在MediaWiki的配置文件中添加以下参数,确保生成的链接和重定向包含正确的前缀与协议:

$wgServer = "https://myhost.com/wiki";
$wgScriptPath = "";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
// 信任Ingress的代理头(根据实际环境调整IP范围)
$wgTrustedProxies = ['0.0.0.0/0'];
$wgForwardedProtocolHeaders = ['X-Forwarded-Proto'];

3. 验证配置

  • 应用更新后的Ingress配置:kubectl apply -f your-ingress.yaml
  • 重启MediaWiki服务:kubectl rollout restart deployment mediawiki-deployment
  • 访问https://myhost.com/wiki,此时重定向URL会变为https://myhost.com/wiki/index.php/Main_Page,可正常加载页面

Plex服务正常是因为其Ingress路径为/,与内部路径完全匹配,且Plex能正确识别代理头,因此重定向逻辑无异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 06:27:19