You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gitea 1.16.9 LFS镜像同步失败:x509未知证书颁发机构问题

解决Gitea 1.16.9镜像节点LFS同步证书验证失败问题

问题根源

Gitea的LFS同步进程未加载到自定义CA证书,Docker环境下默认信任链不包含挂载目录中的CA文件,且1.16.9版本需明确配置CA路径才能让LFS同步进程识别。


具体解决方案

1. 确认CA证书有效性与路径

  • 确保CA证书为PEM格式(后缀.pem/.crt),已放置在宿主机挂载卷gitea/giteadata/gitea/conf/cert目录下,例如命名为custom-ca.pem。
  • 进入容器验证文件存在:
    docker exec 你的Gitea容器ID/名称 ls /data/gitea/conf/cert
    
    (官方Docker镜像中/data对应宿主机的gitea/giteadata挂载卷)

2. 修改Gitea配置文件app.ini

在[server]区块添加/更新以下配置:

[server]
# 指定自定义CA证书的容器内绝对路径,多文件用逗号分隔
SSL_TRUSTED_CA_FILE = /data/gitea/conf/cert/custom-ca.pem
# 确保LFS服务正常启用
LFS_START_SERVER = true
# 若未配置过LFS JWT密钥,生成随机字符串填入
LFS_JWT_SECRET = 随机字符串

注意:1.16.9版本中SSL_TRUSTED_CA_FILE会被Git和LFS同步进程共用,必须填写容器内路径而非宿主机路径。

3. 重启Gitea容器

docker restart 你的Gitea容器ID/名称

4. 验证证书加载状态

查看容器日志确认CA证书已加载:

docker logs 你的Gitea容器ID/名称 | grep "SSL_TRUSTED_CA_FILE"

出现Loaded SSL trusted CA file: /data/gitea/conf/cert/custom-ca.pem则说明配置生效。

5. 触发手动同步验证

在镜像节点Gitea后台找到对应仓库的镜像设置,点击「立即同步」,观察日志是否仍存在证书错误。


额外排查项

  • 若使用自签名证书,确保两台Gitea的证书由同一CA签发,且CA文件包含完整信任链(根CA+中间CA)。
  • 修正证书文件权限,确保Gitea进程(默认用户git)可读取:
    docker exec 你的Gitea容器ID/名称 chown git:git /data/gitea/conf/cert/custom-ca.pem
    

内容的提问来源于stack exchange,提问作者matjaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:35:31