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

Nginx跳转异常求助:kb.mydomain.com被重定向至Redmine

排查kb.mydomain.com返回Redmine页面的问题

这种域名代理串页的坑我之前踩过好几次,结合你的描述和配置,咱们一步步来揪出问题所在:

先确认核心前提

你说内部的kb.home.mydomain.com访问正常,那先排除内部Bookstack服务本身的问题,重点放在外部Nginx的配置和请求匹配上。

排查步骤

1. 先确保Bookstack的Nginx配置是有效的

Nginx如果配置有语法错误,重载的时候会忽略这个配置文件,请求就会落到其他匹配的server(比如Redmine的)。

  • 先检查配置语法:
    nginx -t
    
    如果输出test is successful就没问题,要是有错误,照着提示修复(比如括号不匹配、路径写错)。
  • 修复后强制重载配置:
    nginx -s reload
    

2. 检查外部Nginx能不能正常访问内部Bookstack

在外部Nginx服务器上执行命令,直接请求内部地址,确认网络和DNS没问题:

curl -v http://kb.home.mydomain.com

看返回的内容是不是Bookstack的首页,如果返回的是Redmine,那说明内部DNS解析错了(比如kb.home.mydomain.com指向了Redmine服务器),这时候得先改内部DNS或者hosts配置。

3. 检查Nginx的server块匹配逻辑

Nginx是按精确匹配优先的规则处理server_name的,但如果你的Bookstack配置没被加载,请求就会落到默认server(如果默认是Redmine的配置,就会返回Redmine页面):

  • 查看sites-enabled目录下的配置文件顺序:
    ls -l /etc/nginx/sites-enabled/
    
    要是Bookstack的配置文件(比如kb.conf)排在Redmine的后面,或者有default.conf这类默认配置,试试把Bookstack的配置文件名改成00-kb.conf(让它优先加载),然后重载Nginx。
  • 另外,仔细核对Bookstack配置里的server_name:有没有拼写错误?比如写成kb.mydomian.com(少个a)这种低级错误,我之前就犯过。

4. 看日志找线索

Bookstack的配置里有单独的日志文件,直接看请求有没有打到这个server块:

tail -f /var/log/nginx/kb.access /var/log/nginx/kb.error

然后在浏览器访问kb.mydomain.com,如果kb.access里没有新请求记录,说明请求根本没匹配到Bookstack的server块,回到第3步检查配置加载和server_name;如果有记录但返回Redmine内容,那大概率是内部代理的问题(比如proxy_pass指向错了,但你说内部访问正常,这个可能性低)。

5. 排除浏览器缓存干扰

有时候浏览器会缓存错误的重定向或页面内容,用无痕模式访问kb.mydomain.com,或者用curl命令绕开缓存:

curl -v https://kb.mydomain.com

看返回的响应头和内容,确认是不是Nginx真的返回了Redmine页面,而不是浏览器缓存的旧内容。

最可能的根因总结

根据我的经验,90%的概率是Bookstack的Nginx配置没被正确加载(比如语法错误、不在加载目录),或者server_name拼写错误导致请求匹配到了Redmine的server块。按照上面的步骤排查,应该很快能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:25:17