全程都是按照官方流程安装
本地虚拟机部署,使用自认证书访问局域网内访问可以正常使用https clone项目
但是部署到服务器上使用公开的域名证书,在外网使用域名生成的https clone项目会报下面这个错:
remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. See https://gitlab.91aql.com/help/topics/git/troubleshooting_git#error-on-git-fetch-http-basic-access-denied
但是在gitlab部署服务器上如果修改hosts文件为127.0.0.1 gitlab.91aql.com,那么在服务器上使用https clone项目也没有问题可以正常clone。所以是域名映射的问题?
Admin管理页面的Enabled Git access protocols权限也都放开了,设置了Both SSH+Https。
请问这种情况怎么解决?是部署问题还是设置问题。还是域名映射有问题导致找不到仓库?如果域名映射有问题的话为什么可以通过浏览器正常访问页面?也可以正常使用ssh拉取代码。
entang
#2
请问你采用git clone https://gitlab.91aql.com/<your project>.git
这样的命令去clone你的仓库时,有进入到让你输入用户密码的步骤吗?类似下图这个界面:
有出现的,我用用户密码和accessToken都会报HTTP Basic: Access denied的错误。本来以为是认证的问题。但是进入虚拟机内用127.0.0.1映射后输入用户名密码和access token就都可以拉代码了。
entang
#5
你描述这个情况确实很奇怪,但是看起来应该不是网络的问题,因为你clone时出现了输入用户名密码的界面,代表网络是能连接的。
这个情况,最好过滤一下日志,看当出现Access denied时,日志是报什么错?
entang
#6
另外,你可以换一个用户试试,看是不是会遇到相同的问题。
ldap用户和自建用户都试过了。可以登录但是无法clone
如果是看日志的话请问是看哪部分日志?
之前使用这个命令看日志‘sudo gitlab-ctl tail gitlab-rails’无法看到更详细的信息,只能看到git_http_controller.rb报错403
entang
#8
请问你目前的版本是什么?
看日志的话,可以先看/var/log/gitlab/gitlab-rails/production_json.log
这个日志,在其中找到错误的日志之后,再通过那条错误日志的correlation_id
,过滤/var/log/gitlab/
目录下的所有日志。