macos - 登录重定向循环中的 Gitlab 客户端
问题描述
我一直在做一些工作,试图更新我们的 gitlab 服务器。在某个地方,配置中的某些内容发生了变化,现在我无法访问 Web 客户端。后端正确启动,当我运行rake gitlab:check一切都恢复为绿色。nginx 也是如此,据我所知它工作正常。但是,当我尝试在浏览器中访问登录页面时,我不断收到有关“重定向过多”的错误消息。
查看浏览器控制台,我可以看到它反复尝试重定向到登录页面,直到浏览器放弃并抛出错误。我环顾四周,大多数答案似乎都涉及直接进入登录页面,然后从管理设置更改登录页面。当我尝试时,我遇到了同样的问题。显然,我域上的任何页面都希望重定向到登录名,从而使我陷入无限循环。
我还在 nginx 日志中看到了一些可能相关的错误。当我尝试点击登录页面时,错误日志显示
open() "/usr/local/Cellar/nginx/1.15.9/html/users/sign_in" 失败(2:没有这样的文件或目录)
这甚至是 gitlab html 视图的正确目录吗?如果不是我该如何改变它?
对此的任何帮助将不胜感激。
环境:
OSX 10.11.6 埃尔卡皮坦
Gitlab 8.11
nginx 1.15.9
我的配置文件。我删除了一些注释掉的行以节省空间。
nginx.config
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include servers/*;
}
nginx/服务器/gitlab
upstream gitlab-workhorse {
server unix:/Users/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
}
server {
listen 0.0.0.0:8081;
listen [::]:8081;
server_name git.my.server.com; ## Replace this with something like gitlab.example.com
server_tokens off; ## Don't show the nginx version number, a security best practice
## See app/controllers/application_controller.rb for headers set
## Individual nginx logs for this GitLab vhost
access_log /var/log/nginx/gitlab_access.log;
error_log /var/log/nginx/gitlab_error.log;
location / {
client_max_body_size 0;
gzip off;
## https://github.com/gitlabhq/gitlabhq/issues/694
## Some requests take more than 30 seconds.
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gitlab-workhorse;
}
}
解决方案
经过几天的挖掘,我终于找到了答案。在某些时候,我的默认配置文件(/etc/default/gitlab)被更改了。无论出于何种原因,我的文本编辑器决定将 gitlab_workhorse_options 分成两行。结果,gitlab 缺少 authSocket 和文档根的参数,只是使用默认值。如果这还不够糟糕,则行拆分从 $ 字符开始,因此看起来 nano 只是在进行自动换行。
推荐阅读
- css - Wordpress 按类别名称应用配色方案
- c# - C#如何使用带有来自TextBox的百分比的while循环
- c# - 允许非管理员用户通过应用程序在 C# 中访问文件夹
- xamarin - PCLAppConfig System.IO.FileNotFoundException
- jenkins-job-dsl - 将 DSL 用于 Jenkins 作业时,Ansible AWX 步骤失败
- xml - XML 错误 文档末尾的额外内容
- java - 用Java中的字符增加数字
- java - Google AppEngine 密钥异常
- python - 如何找到作者的频率并使用 Python 绘制它?
- ios - 为 UIWebkit 赋予价值并更改实例化 ViewController [Swift 4]