跳至主要内容

关于匿名化 URL

如果你上传图像或视频到 GitHub,图像或视频的 URL 将被修改,以便你的信息无法被追踪。

平台导航

为了托管你的图像,GitHub 使用了 开源项目 Camo。Camo 为每个文件生成一个匿名 URL 代理,它隐藏了你的浏览器详细信息以及其他用户相关的其他信息。URL 以 https://<subdomain>.githubusercontent.com/ 开头,不同的子域取决于你上传图像的方式。

视频也使用与图像 URL 相同格式的匿名 URL,但不会通过 Camo 处理。这是因为 GitHub 不支持外部托管的视频,因此匿名 URL 是指向 GitHub 托管的上传视频的链接。

任何直接或间接收到你的匿名 URL 的人,都可以查看你的图像或视频。为了保持敏感媒体文件的私密性,请将它们限制在私有网络或需要身份验证的服务器上,而不是使用 Camo。

排查 Camo 问题

在极少数情况下,通过 Camo 处理的图像可能不会显示在 GitHub 上。以下是一些你可以采取的步骤来确定问题所在。

Windows 用户需要使用 Git PowerShell(与 GitHub Desktop 一起安装)或下载 curl for Windows

图像未显示

如果图像在你的浏览器中显示,但在 GitHub 上没有显示,你可以尝试在本地请求它。

  1. 打开 终端终端Git Bash

  2. 使用 curl 请求图像头。

    $ curl -I https://www.my-server.com/images/some-image.png
    > HTTP/2 200
    > Date: Fri, 06 Jun 2014 07:27:43 GMT
    > Expires: Sun, 06 Jul 2014 07:27:43 GMT
    > Content-Type: image/x-png
    > Server: Google Frontend
    > Content-Length: 6507
    
  3. 检查 Content-Type 的值。在本例中,它是 image/x-png

  4. 将该内容类型与 Camo 支持的类型列表 进行比较。

如果您的内容类型不受 Camo 支持,您可以尝试以下几种操作

  • 如果您拥有托管图像的服务器,请修改它,使其为图像返回正确的 Content-Type。
  • 如果您使用外部服务来托管图像,请联系该服务的支持人员。
  • 向 Camo 发起拉取请求,将您的内容类型添加到列表中。

最近更改的图像未更新

如果您最近更改了图像,它在您的浏览器中显示,但在 GitHub 中没有显示,您可以尝试重置图像的缓存。

  1. 打开 终端终端Git Bash

  2. 使用 curl 请求图像头。

    $ curl -I https://www.my-server.com/images/some-image.png
    > HTTP/2 200
    > Expires: Fri, 01 Jan 1984 00:00:00 GMT
    > Content-Type: image/png
    > Content-Length: 2339
    > Server: Jetty(8.y.z-SNAPSHOT)
    

检查 Cache-Control 的值。在本例中,没有 Cache-Control。在这种情况下

  • 如果您拥有托管图像的服务器,请修改它,使其为图像返回 Cache-Controlno-cache
  • 如果您使用外部服务来托管图像,请联系该服务的支持人员。

如果 Cache-Control 设置为 no-cache,请通过 GitHub 支持门户 联系我们,或搜索 GitHub 社区讨论

从 Camo 的缓存中删除图像

清除缓存会强制所有 GitHub 用户重新请求图像,因此您应该谨慎使用它,并且仅在上述步骤无效的情况下使用。

  1. 打开 终端终端Git Bash

  2. 使用 curl -X PURGE 在 Camo URL 上清除图像。

    $ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....
    > {"status": "ok", "id": "216-8675309-1008701"}
    

在私有网络上查看图像

如果图像从私有网络或需要身份验证的服务器提供,则 GitHub 无法查看它。实际上,在没有要求用户登录服务器的情况下,任何用户都无法查看它。

要解决此问题,请将图像移动到公开可用的服务。

进一步阅读