GitLab 配置 阿里云 对象储存 OSS 不能携带 response-content-type 参数异常

问题

  1. 使用 Docker 镜像 registry.gitlab.cn/omnibus/gitlab-jh:18.7.1 配置了 uploads 使用阿里云 OSS 对象存储,可以在 议题 中正常上传 .png 图片
  2. 议题 显示 .png 图片时,携带了参数 response-content-type
  3. 阿里云 对象储存 限制,不允许使用 response-content-type 参数,文档:OpenAPI自助诊断-阿里云OpenAPI开发者门户

解决方案

  1. 基于 Docker 镜像 registry.gitlab.cn/omnibus/gitlab-jh:18.7.1 ,删除代码中的 response-content-type 即可
  2. 制作 Docker 镜像 流水线项目地址:登录 · 极狐GitLab
    • 支持 CPU 平台:amd64,arm64
  3. 已构建镜像
  4. 用法
    gitlab_rails['uploads_object_store_enabled'] = true
    gitlab_rails['uploads_object_store_proxy_download'] = false
    # Bucket Name 或 文件夹名称
    gitlab_rails['uploads_object_store_remote_directory'] = "gitlab-xuxiaowei-uploads"
    gitlab_rails['uploads_object_store_connection'] = {
      # 无需修改
      'provider' => 'AWS',
      # 无需修改
      'region' => 'eu-west-1',
      # 凭证ID
      'aws_access_key_id' => '',
      # 凭证秘钥
      'aws_secret_access_key' => '',
      # Endpoint(地域节点),不带协议,不带 Bucket Name
      'host' => 'oss-cn-qingdao.aliyuncs.com',
      # 签名版本
      'aws_signature_version' => 4,
      # v4 签名
      'enable_signature_v4_streaming' => true,
      # URL 拼接方式
      # true:host/bucket_name/object
      # false:bucket_name.host/object
      'path_style' => false
    }