跳至主要内容

关于匿名化 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 一起安装)或下载 Windows 版 curl

图片未显示

如果图片在浏览器中显示,但在 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 发起 pull request,将您的内容类型添加到列表中。

最近更改的图片未更新

如果您最近更改了图片,它在浏览器中显示,但在 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-Control 的值为 no-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 无法查看它。事实上,任何用户都无法查看它,除非要求他们登录服务器。

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

进一步阅读