自己安装的 gitlab 的 422 怪问题

2019-02-09 14:41:30 +08:00
 honglongmen

已经困惑很久了:

我用 docker 装了个 gitlab, 通过 nginx 反代来访问(并通过 let's encrypt 拿到证书),总是在刚安装开始几个小时可以正常使用, 但是几个小时后登陆总是提示 422,把 gitlab.com 基本抄了个遍, 初步判断是: 是 /assets/webpack 文件夹下的内容加载不了, 这个是由于 rails 里面的 CSP 安全策略, 不加载 js, 不过我们可以通过配置 nginx, 让 /assets 为静态站点目录, 即在 nginx 配置文件中加上:

location /assets {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    index index.html;
}

但是在 ngixn(非 gitlab 的 nginx 增加了上述配置后,仍然无效, reconfigure 之类命令肯定运行了,所以不要问这个了.

请问还有哪里会有问题?

9365 次点击
所在节点    程序员
16 条回复
GuryYu
2019-02-09 19:59:09 +08:00
虽然不太清楚楼主这个错误的具体原因, 但是可以分享一下我搭建 docker GitLab 的方法.

hostname xx.xx.xx 需要替换为楼主的域名, 容器启动好之后(用 docker logs 看日志), 使用 nginx https 反代访问.(不经过反代 直接访问似乎会报错)
```
CONTAINER="tools-git-gitlab" && \
mkdir -p ~/docker/"$CONTAINER"/config && \
mkdir -p ~/docker/"$CONTAINER"/logs && \
mkdir -p ~/docker/"$CONTAINER"/data && \
docker run \
--name "$CONTAINER" \
--hostname xx.xx.xx \
-idt -p 2222:2222 -p 80:80 -p 443:443 \
--env GITLAB_OMNIBUS_CONFIG="external_url 'https://xx.xx.xx/'; gitlab_rails['gitlab_shell_ssh_port'] = 2222; letsencrypt['enable'] = false; nginx['listen_port'] = 80; nginx['listen_https'] = false; nginx['proxy_set_headers'] = { 'X-Forwarded-Proto' => 'https', 'X-Forwarded-Ssl' => 'on' };" \
-e TZ=Asia/Shanghai \
-v ~/docker/"$CONTAINER"/config:/etc/gitlab \
-v ~/docker/"$CONTAINER"/logs:/var/log/gitlab \
-v ~/docker/"$CONTAINER"/data:/var/opt/gitlab \
--log-opt max-size=100m \
--log-opt max-file=1 \
--restart always \
gitlab/gitlab-ce:11.7.5-ce.0
```
mayx
2019-02-09 22:04:05 +08:00
看成了 422 个怪问题
sobigfish
2019-02-10 16:36:21 +08:00
@mayx #2 一般人看到 4XX 5XX 都会当成 http error code 而不是其他什么,虽然 422 不常见
sobigfish
2019-02-10 16:45:41 +08:00
抱歉,是 HTTP status* code
selinaspy
2019-02-11 00:06:54 +08:00
我私人和公司里都是 docker 版,用很久了都没出现过你这个问题,用官方推荐的修复权限的命令试试?
honglongmen
2019-02-11 00:13:31 +08:00
@selinaspy 都试过了, 才会来这里发帖寻求帮助啊. 你是用 nginx 反代的吗?
drackzy
2019-02-11 05:13:54 +08:00
你是苹果系统?
ice000
2019-02-11 08:28:55 +08:00
root 管理员项目权限分配用户,应该可以解决这个问题
selinaspy
2019-02-11 11:16:49 +08:00
@honglongmen 是的呀,都是照官方文档做的
honglongmen
2019-02-11 12:18:51 +08:00
@ice000 和这个没关系, 可能是阿里云 cdn 有问题.
honglongmen
2019-02-11 12:20:43 +08:00
@selinaspy 可否把你的官方文档发给我看看?
honglongmen
2019-02-12 03:34:10 +08:00
@selinaspy 我是修改 root 为另外个用户名出现这个问题, 估计问题出现在这里
selinaspy
2019-02-12 11:30:18 +08:00
@honglongmen 我也改了 root 的名字,没问题啊,然后官方文档是这个 https://docs.gitlab.com/omnibus/docker/
honglongmen
2019-02-12 17:10:27 +08:00
@selinaspy 昨晚重装测试了下, 我新建个管理员,然后删除默认的 root,好像就没问题了.

具体还在查看.
selinaspy
2019-02-12 18:54:33 +08:00
@honglongmen 日志开 debug 看看吧,这瞎摸也不好弄
honglongmen
2019-02-12 20:37:09 +08:00
@selinaspy 现在新问题,我怀疑登录那里 homepage 写错了,导致无法打开, 但是没找到在哪里修改

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533566

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX