阅读(312)
赞(2)
GitHub 关于匿名化图像 URL
2020-08-19 13:57:32 更新
如果将图像上传到 GitHub,图像 URL 将会修改,这样便无法跟踪您的信息。
为托管您的图像,GitHub 使用 开源项目 Camo。 Camo 为每幅图像生成开头为 https://camo.githubusercontent.com/
的匿名 URL 代理,将会对其他用户隐藏您的浏览器详细信息和相关信息。
直接或间接收到您的匿名化图像 URL 的任何人都可查看您的图像。 为对敏感图像保密,将它们限于私人网络或需要身份验证的服务器,而不使用 Camo。
Camo 问题故障排除
在偶尔的情况下,通过 Camo 处理的图像可能不会出现在 GitHub 上。 下面是可用于确定问题位置的一些步骤。
Windows 用户需要使用 Git Powershell(随 GitHub Desktop 一起安装)或下载 curl for Windows。
图像不显示
如果图像显示于浏览器中,但未显示在 GitHub 上,您可以尝试本地请求该图像。
- 打开 Git Bash。
- 使用
curl
请求图像标头。
$ curl -I https://www.programbbs.com/pic/githubcn/some-image.png
> HTTP/1.1 200 OK
> 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
- 检查
Content-Type
的值。 本例中为image/x-png
。
- 根据 Camo 支持的类型列表检查内容类型。
如果您的内容类型不受 Camo 支持,可尝试以下几项操作:
- 如果您拥有托管该图像的服务器,请修改它以让其返回正确内容类型的图像。
- 如果使用外部服务托管图像,请联系该服务的支持。
- 建立对 Camo 的拉取请求以将内容类型添加到列表。
最近更改的图像不更新
如果最近更改了图像并且它显示在浏览器中,但未显示在 GitHub 上,可尝试重置图像缓存。
- 打开 Git Bash。
- 使用
curl
请求图像标头。
$ curl -I https://www.programbbs.com/pic/githubcn/some-image.png
> HTTP/1.1 200 OK
> 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
。 在这种情况下:
- 如果您拥有托管该图像的服务器,请修改它以让其返回图像的
no-cache
的Cache-Control
。
- 如果使用外部服务托管图像,请联系该服务的支持。
如果 Cache-Control
设置为 no-cache
,请联系 GitHub 支持 或 GitHub 高级支持 或搜索 GitHub 社区论坛。
从 Camo 的缓存中删除图像
清除缓存会强制每个 GitHub 用户重新请求图像,因此应非常谨慎地使用此操作,仅在上述步骤无效时才使用。
- 打开 Git Bash。
- 使用
curl -X PURGE
在 Camo URL 上清除图像。
$ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....
> {"status": "ok", "id": "216-8675309-1008701"}
在私人网络上查看图像
如果图像从私人网络或需要身份验证的服务器提供,则无法通过 GitHub 查看。 事实上,未登录服务器的任何用户都无法查看。
要解决此问题,请将图像移至公共的服务。
延伸阅读
- GitHub 博客 上的"代理用户图像"