我在一个docker中运行gitlab,它映射到我的localhost上的端口8880。所以我可以使用URL访问它
http:// localhost:8880
但我已经使用apache代理传递来创建以下映射
localhost:8880 ------>本地主机/ gitlab
这样我的用户就可以通过 localhost / gitlab 访问gitlab。一切似乎都运行正常但是在呈现页面时会出现问题。 Gitlab生成的页面中的所有链接都使用相对URL
这会导致apache在单击时将它们重定向到 localhost / assets /...。这导致404错误,这是明显的,因为资源路径不正确。该链接应该已生成为 localhost / gitlab / assets /....,以便apache可以正确映射到 localhost / gitlab / assets /...
我尝试过使用Apache重写模块,Nginx重写模块,但没有一个能够工作。无论如何我可以更改gitlab生成的相对URL吗?
答案 0 :(得分:0)
抱歉,gitlab目前不支持此功能。如果你必须使用相对网址,请考虑使用omnibus gitlab,因为它支持相对网址。
当您向localhost / gitlab发送请求时,apache服务器会忠实地将其转发给localhost:8880。但gitlab和nginx都不知道它来自相对网址,只有apache才能。这成为一个问题,因为gitlab中的资源路径是使用fqdn - localhost:8880构造的。并且apache只修改对localhost / gitlab的请求的头部而不是请求中嵌入的链接和资源。