因此,我最近在我的服务器中设置了 GitLab,并且我使用 kemp 负载均衡器进行反向代理,还管理其他规则和内容,但是今天我注意到 Web IDE 没有工作,在查看日志并进行一些研究后,我发现发生这种情况的原因是 kemp 正在解码它不应该解码的斜线,我想知道我是否可以绕过所有 URL 或某些 URL 中的 URL 解码以避免发生此问题。
正确的网址:https://example.domain.com/api/v4/projects/qcast%2Fqcast-vosk-stt
错误的 URL(由 Kemp 解码):https://example.domain.com/api/v4/projects/qcast/qcast-vosk-stt
错误的 URL 在 GitLab 中导致 404,因为它无法识别该 URL,因为 %2F 无法解码为斜线。
日志:
2021-11-01T14:58:35+00:00 Kemp kernel: Detect: Invalid URL [00.00.00.00:51554->10.1.10.10:443] '/api/v4/projects/qcast/qcast-vosk-stt' - Invalid URL specification (sid:0 rev:0)
2021-11-01T14:58:35+00:00 Kemp kernel: Detect: Invalid URL [00.00.00.00:51632->10.1.10.10:443] '/api/v4/projects/qcast/qcast-vosk-stt' - Invalid URL specification (sid:0 rev:0)
2021-11-01T14:58:35+00:00 Kemp kernel: Detect: Invalid URL [00.00.00.00:58300->10.1.10.10:443] '/api/v4/projects/qcast/qcast-vosk-stt' - Invalid URL specification (sid:0 rev:0)
我可以通过内容规则或其他方式解决这个问题吗?
为了快速修复问题,我暂时禁用了它,但这应该会有所帮助,因为我仅针对几个 URL 或模式禁用此规则。
附言:问题尚未解决,我只提供了临时修复,以帮助更有知识的人帮助我找到如何在不禁用这种保护的情况下修复此问题。