gitlab启用对象存储,并禁用代理模式,现在通过客户端git lfs 大文件上传,发现返回的url地址是gitlab svc 的地址而不是对象存储的url地址。
gitlab 配置如下:
gitlab_rails['lfs_enabled'] = true
gitlab_rails['lfs_object_store_enabled'] = true
gitlab_rails['lfs_object_store_proxy_download'] = false
gitlab_rails['lfs_object_store_remote_directory'] = "gitlab-lfs"
gitlab_rails['lfs_object_store_connection'] = {
'provider' => 'AWS',
'region' => 'huhehaote1',
'aws_access_key_id' => 'x',
'aws_secret_access_key' => 'x',
'endpoint' => 'https://eos-huhehaote-1.cmecloud.cn',
'force_path_style' => true
}
### GitLab uploads
gitlab_rails['uploads_object_store_enabled'] = true
gitlab_rails['uploads_object_store_proxy_download'] = false
gitlab_rails['uploads_object_store_remote_directory'] = "gitlab-uploads"
gitlab_rails['uploads_object_store_connection'] = {
'provider' => 'AWS',
'region' => 'huhehaote1',
'aws_access_key_id' => 'x',
'aws_secret_access_key' => 'x',
'endpoint' => 'https://eos-huhehaote-1.cmecloud.cn',
'force_path_style' => true
}
验证配置生效如下
1
root@gitlab-bf8dfc847-dvq5p:/# gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
GitLab: 16.9.1 (0ef8ba69a8f) FOSS
GitLab Shell: 14.33.0
PostgreSQL: 14.10
------------------------------------------------------------[ booted in 17.43s ]
Loading production environment (Rails 7.0.8)
irb(main):001:1* lfs_connection = Aws::S3::Client.new(
irb(main):002:1* access_key_id: 'xxx',
irb(main):003:1* secret_access_key: 'xx',
irb(main):004:1* region: 'huhehaote1',
irb(main):005:1* endpoint: 'https://eos-huhehaote-1.cmecloud.cn',
irb(main):006:0> force_path_style: true )
=> #<Aws::S3::Client>
irb(main):007:0> s3_resource = Aws::S3::Resource.new(client: lfs_connection)
=> #<Aws::S3::Resource:0x00007efdfb2b8b58 @client=#<Aws::S3::Client>>
irb(main):008:0> bucket = s3_resource.bucket('gitlab-lfs')
irb(main):009:0> puts bucket.exists?
true
=> nil
irb(main):010:0> # 上传文件
=> nil
irb(main):011:0> bucket.object('test.txt').put(body: '测试内容')
irb(main):012:0* # 下载文件
irb(main):013:0> obj = bucket.object('test.txt')
irb(main):014:0> puts obj.get.body.read
测试内容
=> nil
错误日志如下
16:08:07.672334 trace git-lfs: tq: enqueue retry #8 after 10.00s for "d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e" (size: 1914151)
16:08:17.672600 trace git-lfs: tq: sending batch of size 1
16:08:17.672753 trace git-lfs: api: batch 1 files
16:08:17.672787 trace git-lfs: HTTP: POST http://root:glpat-Lp8wFs6yMgWLs47CyGzb@192.168.10.11:30004/root/sss.git/info/lfs/objects/batch
> POST /root/sss.git/info/lfs/objects/batch HTTP/1.1
> Host: 192.168.10.11:30004
> Accept: application/vnd.git-lfs+json
> Content-Length: 228
> Content-Type: application/vnd.git-lfs+json; charset=utf-8
> User-Agent: git-lfs/3.6.1 (GitHub; linux amd64; go 1.23.9 (Red Hat 1.23.9-1.el9_6) X:strictfipsruntime)
>
{"operation":"upload","objects":[{"oid":"d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e","size":1914151}],"transfers":["lfs-standalone-file","basic","ssh"],"ref":{"name":"refs/heads/main"},"hash_algo":"sha256"}16:08:17.718951 trace git-lfs: HTTP: 200
< HTTP/1.1 200 OK
< Content-Length: 710
< Cache-Control: max-age=0, private, must-revalidate
< Connection: keep-alive
< Content-Security-Policy:
< Content-Type: application/vnd.git-lfs+json; charset=utf-8
< Date: Tue, 25 Nov 2025 08:08:17 GMT
< Etag: W/"504e8ecdfdb453a99703748d50b2170c"
< Page-Title: GitLab
< Permissions-Policy: interest-cohort=()
< Referrer-Policy: strict-origin-when-cross-origin
< Server: nginx
< Strict-Transport-Security: max-age=63072000
< Vary: Accept
< X-Content-Type-Options: nosniff
< X-Download-Options: noopen
< X-Frame-Options: SAMEORIGIN
< X-Gitlab-Meta: {"correlation_id":"01KAX0WT0BWMYG879513WJNT6Y","version":"1"}
< X-Permitted-Cross-Domain-Policies: none
< X-Request-Id: 01KAX0WT0BWMYG879513WJNT6Y
< X-Runtime: 0.038832
< X-Ua-Compatible: IE=edge
< X-Xss-Protection: 1; mode=block
<
16:08:17.719046 trace git-lfs: HTTP: {"objects":[{"oid":"d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e","size":1914151,"actions":{"upload":{"href":"http://gitlab-bf8dfc847-dvq5p/root/sss.git/gitlab-lfs/objects/d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e/1914151","header":{"Authorization":"Basic cm9vdDpleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKa1lYUmhJanA3SW1GamRHOXlJam9pY205dmRDSjlMQ0pxZEdraU9pSTVZamd3TURSbE55MDFaRGxtTFRRMFlUUXRPV1JoWXkwMk5ESXlaalJsWlRWaU9HRWlMQ0pwWVhRaU9qRTNOalF3TlRnd09UY3NJb
{"objects":[{"oid":"d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e","size":1914151,"actions":{"upload":{"href":"http://gitlab-bf8dfc847-dvq5p/root/sss.git/gitlab-lfs/objects/d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e/1914151","header":{"Authorization":"Basic cm9vdDpleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKa1lYUmhJanA3SW1GamRHOXlJam9pY205dmRDSjlMQ0pxZEdraU9pSTVZamd3TURSbE55MDFaRGxtTFRRMFlUUXRPV1JoWXkwMk5ESXlaalJsWlRWaU9HRWlMQ0pwWVhRaU9qRTNOalF3TlRnd09UY3NJb16:08:17.719147 trace git-lfs: HTTP: TVpWmlJNk1UYzJOREExT0RBNU1pd2laWGh3SWpveE56WTBNRFkxTWprM2ZRLnR5TGVvemhPQUJaVkNnaUUzaFNtYVFQbFQyaUYtTFI2R08waHNCSE5GdVk=","Content-Type":"application/octet-stream","Transfer-Encoding":"chunked"}}}}]}
TVpWmlJNk1UYzJOREExT0RBNU1pd2laWGh3SWpveE56WTBNRFkxTWprM2ZRLnR5TGVvemhPQUJaVkNnaUUzaFNtYVFQbFQyaUYtTFI2R08waHNCSE5GdVk=","Content-Type":"application/octet-stream","Transfer-Encoding":"chunked"}}}}]}16:08:17.719196 trace git-lfs: xfer: adapter "basic" End()
16:08:17.719206 trace git-lfs: xfer: adapter "basic" worker 0 stopping
16:08:17.719212 trace git-lfs: xfer: adapter "basic" worker 6 auth signal received
16:08:17.719214 trace git-lfs: xfer: adapter "basic" worker 6 stopping
16:08:17.719216 trace git-lfs: xfer: adapter "basic" worker 3 auth signal received
16:08:17.719218 trace git-lfs: xfer: adapter "basic" worker 3 stopping
16:08:17.719222 trace git-lfs: xfer: adapter "basic" worker 1 auth signal received
16:08:17.719224 trace git-lfs: xfer: adapter "basic" worker 1 stopping
16:08:17.719226 trace git-lfs: xfer: adapter "basic" worker 2 auth signal received
16:08:17.719228 trace git-lfs: xfer: adapter "basic" worker 2 stopping
16:08:17.719238 trace git-lfs: xfer: adapter "basic" worker 7 auth signal received
16:08:17.719249 trace git-lfs: xfer: adapter "basic" worker 7 stopping
16:08:17.719243 trace git-lfs: xfer: adapter "basic" worker 5 auth signal received
16:08:17.719252 trace git-lfs: xfer: adapter "basic" worker 5 stopping
16:08:17.719240 trace git-lfs: xfer: adapter "basic" worker 4 auth signal received
16:08:17.719254 trace git-lfs: xfer: adapter "basic" worker 4 stopping
16:08:17.719256 trace git-lfs: xfer: adapter "basic" stopped
16:08:17.719352 trace git-lfs: tq: starting transfer adapter "basic"
16:08:17.719394 trace git-lfs: xfer: adapter "basic" Begin() with 8 workers
16:08:17.719403 trace git-lfs: xfer: adapter "basic" started
16:08:17.719409 trace git-lfs: xfer: adapter "basic" worker 2 starting
16:08:17.719429 trace git-lfs: xfer: adapter "basic" worker 2 waiting for Auth
16:08:17.719446 trace git-lfs: xfer: adapter "basic" worker 0 starting
16:08:17.719452 trace git-lfs: xfer: adapter "basic" worker 1 starting
16:08:17.719455 trace git-lfs: xfer: adapter "basic" worker 1 waiting for Auth
16:08:17.719458 trace git-lfs: xfer: adapter "basic" worker 4 starting
16:08:17.719462 trace git-lfs: xfer: adapter "basic" worker 4 waiting for Auth
16:08:17.719464 trace git-lfs: xfer: adapter "basic" worker 3 starting
16:08:17.719467 trace git-lfs: xfer: adapter "basic" worker 3 waiting for Auth
16:08:17.719469 trace git-lfs: xfer: adapter "basic" worker 5 starting
16:08:17.719472 trace git-lfs: xfer: adapter "basic" worker 5 waiting for Auth
16:08:17.719475 trace git-lfs: xfer: adapter "basic" worker 6 starting
16:08:17.719478 trace git-lfs: xfer: adapter "basic" worker 6 waiting for Auth
16:08:17.719484 trace git-lfs: xfer: adapter "basic" worker 0 processing job for "d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e"
16:08:17.719484 trace git-lfs: xfer: adapter "basic" worker 7 starting
16:08:17.719493 trace git-lfs: xfer: adapter "basic" worker 7 waiting for Auth
16:08:17.720041 trace git-lfs: HTTP: PUT http://gitlab-bf8dfc847-dvq5p/root/sss.git/gitlab-lfs/objects/d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e/1914151
> PUT /root/sss.git/gitlab-lfs/objects/d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e/1914151 HTTP/1.1
> Host: gitlab-bf8dfc847-dvq5p
> Transfer-Encoding: chunked
> Authorization: Basic * * * * *
> Content-Type: application/octet-stream
> User-Agent: git-lfs/3.6.1 (GitHub; linux amd64; go 1.23.9 (Red Hat 1.23.9-1.el9_6) X:strictfipsruntime)
>
16:08:17.746142 trace git-lfs: xfer: adapter "basic" worker 0 finished job for "d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e"
16:08:17.746170 trace git-lfs: tq: refusing to retry "d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e", too many retries (8)
16:08:17.746184 trace git-lfs: tq: refusing to retry "d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e", too many retries (8)
16:08:17.746214 trace git-lfs: xfer: adapter "basic" End()
16:08:17.746218 trace git-lfs: xfer: adapter "basic" worker 0 stopping
16:08:17.746221 trace git-lfs: xfer: adapter "basic" worker 7 auth signal received
16:08:17.746223 trace git-lfs: xfer: adapter "basic" worker 7 stopping
16:08:17.746220 trace git-lfs: xfer: adapter "basic" worker 2 auth signal received
16:08:17.746235 trace git-lfs: xfer: adapter "basic" worker 2 stopping
16:08:17.746226 trace git-lfs: xfer: adapter "basic" worker 6 auth signal received
16:08:17.746225 trace git-lfs: xfer: adapter "basic" worker 5 auth signal received
16:08:17.746258 trace git-lfs: xfer: adapter "basic" worker 5 stopping
16:08:17.746229 trace git-lfs: xfer: adapter "basic" worker 3 auth signal received
16:08:17.746262 trace git-lfs: xfer: adapter "basic" worker 3 stopping
16:08:17.746228 trace git-lfs: xfer: adapter "basic" worker 1 auth signal received
16:08:17.746264 trace git-lfs: xfer: adapter "basic" worker 1 stopping
16:08:17.746230 trace git-lfs: xfer: adapter "basic" worker 4 auth signal received
16:08:17.746266 trace git-lfs: xfer: adapter "basic" worker 4 stopping
16:08:17.746245 trace git-lfs: xfer: adapter "basic" worker 6 stopping
16:08:17.746268 trace git-lfs: xfer: adapter "basic" stopped
LFS: Put "http://gitlab-bf8dfc847-dvq5p/root/sss.git/gitlab-lfs/objects/d38637ef4e60ce027b574b4142cd639cce739ade469da65fa6d948f5216c841e/1914151": dial tcp: lookup gitlab-bf8dfc847-dvq5p on 114.114.114.114:53: no such host
错误:无法推送一些引用到 'http://192.168.10.11:30004/root/sss.git'
[root@RK1 sss]#