Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-12-19. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Использование сервера GitHub Enterprise с подсистемой балансировки нагрузки

Используйте подсистему балансировки нагрузки перед одним экземпляром GitHub Enterprise Server или парой экземпляров в конфигурации с высоким уровнем доступности.

Сведения о подсистеме балансировки нагрузки

Проект подсистемы балансировки нагрузки использует сетевое устройство для направления трафика Git и HTTP на отдельные устройства GitHub Enterprise Server. Подсистему балансировки нагрузки можно использовать для ограничения прямого трафика на устройство в целях безопасности или перенаправления трафика при необходимости оставить без изменений записи DNS. Настоятельно рекомендуется использовать подсистему балансировки нагрузки на основе TCP, поддерживающую протокол PROXY.

Поиски DNS для имени узла GitHub Enterprise Server должны разрешаться в подсистему балансировки нагрузки. Рекомендуется включить изоляцию поддомена. Если изоляция поддомена включена, дополнительная запись с подстановочными знаками (*.HOSTNAME) также должна разрешаться в подсистему балансировки нагрузки. Дополнительные сведения см. в разделе Включение изоляции поддомена.

Обработка сведений о подключениях клиентов

Так как клиентские подключения к GitHub Enterprise Server поступают из подсистемы балансировки нагрузки, IP-адрес клиента может быть утерян.

Мы настоятельно рекомендуем реализовать протокол PROXY, если подсистема балансировки нагрузки поддерживает его. Если поддержка PROXY недоступна, нагрузку на порты HTTP и HTTPS можно также распределять с помощью заголовка X-Forwarded-For.

Caution

Если включена поддержка прокси-сервера или перенаправление HTTP, важно, чтобы внешний трафик напрямую не достиг GitHub Enterprise Server устройств. Если внешний трафик не будет блокироваться должным образом, существует риск подделки исходных IP-адресов.

Warning

При завершении подключений HTTPS в подсистеме балансировки нагрузки запросы от подсистемы балансировки нагрузки к GitHub Enterprise Server также необходимо использовать ПРОТОКОЛ HTTPS. Понижение уровня подключения к HTTP не поддерживается.

Включение поддержки протокола PROXY для ваш экземпляр GitHub Enterprise Server

Настоятельно рекомендуется включить поддержку протокола PROXY как для экземпляр, так и для подсистемы балансировки нагрузки. Используйте инструкции, предоставленные поставщиком, чтобы включить протокол PROXY в подсистеме балансировки нагрузки. Дополнительные сведения см. в документации протокола PROXY.

Note

GitHub Enterprise Server поддерживает протокол PROXY версии 1, несовместимый с сетевыми подсистемами балансировки нагрузки AWS. Если вы используете подсистемы балансировки сетевой нагрузки AWS с GitHub Enterprise Server, не включайте поддержку PROXY.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Конфиденциальность" и снимите флажок " Конфиденциальность".

  5. В разделе "Внешние подсистемы балансировки нагрузки" выберите Включить поддержку протокола PROXY.

  6. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  7. Подождите завершения запуска конфигурации.

Сопоставления TCP-портов протокола ПРОКСИ

Исходный портПорт назначенияОписание службы
2223Git по протоколу SSH
8081HTTP
443444HTTPS
80808081HTTP консоли управления
84438444HTTPS консоли управления
94189419Git

Включение поддержки X-Forwarded-For для ваш экземпляр GitHub Enterprise Server

X-Forwarded-For Используйте протокол , только если протокол PROXY недоступен. Заголовок X-Forwarded-For совместим только с HTTP и HTTPS. Для подключений Git по протоколу SSH IP-адрес будет иметь значение подсистемы балансировки нагрузки. В некоторых средах IP-адреса клиента в журнале аудита экземпляра могут отображаться 127.0.0.1неправильно.

Warning

Если вы настраиваете X-Forwarded-For поддержку ваш экземпляр GitHub Enterprise Server и подсистеме балансировки нагрузки, возможно, не удается подключиться к Консоль управления. Дополнительные сведения см. в разделе Использование сервера GitHub Enterprise с подсистемой балансировки нагрузки.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Конфиденциальность" и снимите флажок " Конфиденциальность".

  5. В разделе Внешние балансировщики нагрузки выберите Разрешить заголовок HTTP X-Forwarded-For.

  6. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  7. Подождите завершения запуска конфигурации.

Сопоставления портов протокола TCP для использования без поддержки PROXY

Исходный портПорт назначенияОписание службы
2222Git по протоколу SSH
2525SMTP
8080HTTP
443443HTTPS
80808080HTTP консоли управления
84438443HTTPS консоли управления

Настройка проверок работоспособности

Проверки работоспособности позволяют подсистеме балансировки нагрузки прекратить направлять трафик узлу, который не отвечает, в случае неудачной попытки выполнения предварительно настроенной проверки этого узла. Если экземпляр находится в автономном режиме из-за обслуживания или непредвиденного сбоя, подсистема балансировки нагрузки может отобразить страницу состояния. В конфигурации высокого уровня доступности подсистема балансировки нагрузки может использоваться как элемент стратегии отработки отказа. Однако автоматический переход на другой ресурс пар высокого уровня доступности не поддерживается. Необходимо вручную повысить уровень экземпляра-реплики, прежде чем он начнет обслуживание запросов. Дополнительные сведения см. в разделе Настройка высокого уровня доступности.

Настройте подсистему балансировки нагрузки, чтобы проверить следующий URL-адрес.

http(s)://HOSTNAME/status

Конечная точка вернет код 200 состояния (ОК), если узел работоспособен и доступен для запросов конечных пользователей. Дополнительные сведения см. в разделе Мониторинг конфигурации высокого уровня доступности.

Note

Когда устройство находится в режиме обслуживания, https://HOSTNAME/status URL-адрес вернет код 503 состояния (служба недоступна). Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Устранение неполадок с подключением через подсистему балансировки нагрузки

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

Note

Всегда тестируйте изменения в конфигурации сетевой инфраструктуры и экземпляра в промежуточной среде. Дополнительные сведения см. в разделе Настройка промежуточного экземпляра.

Ошибка: "Срок действия сеанса истек" для подключений к Консоль управления.

Если включить поддержку заголовка X-Forwarded-For в экземпляре и подсистемы балансировки нагрузки, возможно, вы не сможете получить доступ к Консоль управления экземпляра. Дополнительные сведения о Консоль управления и портах, необходимых для подключений, см. в разделе [AUTOTITLE и Администратор создание экземпляра из пользовательского веб-интерфейса](/admin/configuration/configuring-network-settings/network-ports).

Если ваш экземпляр GitHub Enterprise Server указывает, что срок действия сеанса истек при подключении к Консоль управления через подсистему балансировки нагрузки, попробуйте одну из следующих конфигураций в подсистеме балансировки нагрузки.

Дополнительные сведения см. в документации по подсистеме балансировки нагрузки.

Динамические обновления для проблем и проверка запусков не работают

Если доступ к данным ваш экземпляр GitHub Enterprise Server осуществляется через подсистему балансировки нагрузки или обратный прокси-сервер, ожидаемые динамические обновления, такие как новые комментарии о проблемах и изменениях в индикаторах уведомлений или проверка выходных данных запуска, могут не отображаться до обновления страницы. Это особенно верно, если обратный прокси-сервер или подсистема балансировки нагрузки работают в режиме уровня 7 или не поддерживают требуемый протокол веб-сокета.

Чтобы включить динамические обновления, может потребоваться перенастроить подсистему балансировки нагрузки или прокси-сервер. Дополнительные сведения см. в документации по подсистеме балансировки нагрузки.