Skip to main content

Сведения об анонимных URL-адресах

Если вы отправляете изображение или видео в GitHub Enterprise Cloud, URL-адрес изображения или видео будет изменен, чтобы предотвратить отслеживание ваших данных.

Platform navigation

Для размещения изображений GitHub Enterprise Cloud использует проект 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 для 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, можно попробовать выполнить несколько действий:

  • Если вы являетесь владельцем сервера, на котором размещено изображение, измените его, чтобы он возвращал правильный тип содержимого для изображений.
  • Если вы используете внешнюю службу для размещения изображений, обратитесь в ее службу поддержки.
  • Создайте запрос на вытягивание в 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-Control из no-cache для изображений.
  • Если вы используете внешнюю службу для размещения изображений, обратитесь в ее службу поддержки.

Если для Cache-Control установлено значение no-cache, свяжитесь с или выполните поиск на Обсуждения сообщества GitHub.

Удаление изображения из кэша Camo

Очистка кэша заставляет каждого пользователя GitHub повторно запрашивать изображение, поэтому ее следует применять очень экономно и только в том случае, если описанные выше шаги не сработали.

  1. Откройте ТерминалТерминалGIT Bash.

  2. Очистите изображение, используя curl -X PURGE на URL-адресе Camo.

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

Просмотр изображений в частных сетях

Если изображение передается из частной сети или с сервера, для которого требуется проверка подлинности, оно не может быть просмотрено GitHub. Фактически ни один пользователь не может просмотреть его, не запрашивая вход на сервер.

Чтобы устранить эту проблему, переместите изображение в общедоступную службу.

Дополнительные материалы