Proxying assets

Proxying assets

在管理面向公众的 GitLab 实例时,可能存在的安全隐患是通过引用问题,评论等中的图像来窃取用户 IP 地址的能力.

例如,在问题描述中添加将导致从外部服务器加载图像以便显示. 但是,这也允许外部服务器记录用户的 IP 地址.

减轻这种情况的一种方法是将所有外部映像代理到您控制的服务器.

可以将 GitLab 配置为在问题,评论等中请求外部图像/视频/音频时使用资产代理服务器.这有助于确保恶意图像在获取时不会暴露用户的 IP 地址.

一台 Camo 服务器用作代理.

要将 Camo 服务器安装为资产代理,请执行以下操作:

  1. 确保您的 GitLab 实例正在运行,并且您已经创建了私有 API 令牌. 使用 API​​,在您的 GitLab 实例上配置资产代理设置. 例如:

    | Attribute | Description | | —- | —- | | | 启用资产代理. 如果启用,则要求: asset_proxy_url ). | | | 与资产代理服务器共享的机密. | | asset_proxy_url | 资产代理服务器的 URL. | | | 与这些域匹配的资产将不会被代理. 允许使用通配符. 您的 GitLab 安装网址会自动列入白名单. |

  2. 重新启动服务器,以使更改生效. 每次更改资产代理的任何值时,都需要重新启动服务器.

Using the Camo server

一旦 Camo 服务器运行并且启用了 GitLab 设置,任何引用外部源的图像,视频或音频都将被代理到 Camo 服务器.

例如,以下是 Markdown 中图像的链接: