我正在尝试配置一个设置,其中gitlab -页面是从单独的gitlab实例服务器。我遵循了官方文档中描述的步骤(所有这些步骤都带有NFS共享,以及git用户等的两个实例的相同UID),但在最后,当我试图访问站点时,我会得到HTTP500GitLab错误。
我在gitlab-pages实例上的日志(我用username.pages.mydomain.com替换了日志中的适当域):
{"error":"permission denied","level":"error","msg":"requested filepath \"/mnt/pages/@hashed/db/b1/dbb1ded63bc70732626c5dfe6c7f50ced3d560e970f30b15335ac290358748f6/pages_deployments/1/artifacts.zip\" not in allowed paths: \"/var/opt/gitlab/gitlab-rails/shared/pages\"","time":"2021-05-10T11:50:17Z"}
{"error":"httprange: new resource 403: \"403 Forbidden\"","host":"username.pages.mydomain.com","level":"error","msg":"vfs.Root","path":"/pages-test","time":"2021-05-10T11:50:17Z"}
{"content_type":"text/html; charset=utf-8","correlation_id":"01F5B1T63QV5FGFRGR6YPYWWXM","duration_ms":6,"host":"username.pages.mydomain.com","level":"info","method":"GET","msg":"access","pages_host":"username.pages.mydomain.com","pages_https":true,"pages_project_id":132,"pages_project_prefix":"/pages-test/","pages_project_serving_type":"zip","proto":"HTTP/1.0","referrer":"","remote_addr":"210.135.57.148","remote_ip":"210.135.57.148","status":500,"system":"http","time":"2021-05-10T11:50:17Z","ttfb_ms":6,"uri":"/pages-test","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","written_bytes":2905}我查过的东西:
这个错误似乎指向了filepath错误,但我在互联网上找不到有关这方面的任何信息。
发布于 2022-04-28 14:54:25
我也有同样的问题!这篇文章现在有点老了,但也许今天也有其他人面临同样的问题。
我假设您在主gitlab实例和页面服务器之间通过网络共享/mnt/pages目录。
在我的安装程序中,GitLab服务器是从源代码安装的,而我则使用docker运行页面服务器。在我的GitLab服务器上,pages.path和pages.local_store.path设置为/mnt/pages。在Pages服务器上,我将/mnt/pages挂载为默认目录/var/opt/gitlab/gitlab-rails/shared/pages中的卷,因此没有调整这些位置中的gitlab.rb文件(这里不是.yml,因为这不是从源代码构建的,而是停靠容器)。
通过这个设置,我得到了你所犯的错误!
解决方案是简单地将Docker容器中的/mnt/pages目录挂载到/mnt/pages。当然,在gitlab.rb中,gitlab_rails['pages_local_store_path']和gitlab_rails['pages_path']也必须设置为/mnt/pages。
这样对我来说很好。
https://serverfault.com/questions/1063097
复制相似问题