Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

GitHub Enterprise Server でロードバランサを使用する

Use a load balancer in front of a single GitHub Enterprise Server instance or a pair of instances in a High Availability configuration.

About load balancers

ロードバランサの設計では、ネットワークデバイスを使ってGit及びHTTPのトラフィックを個々のGitHub Enterprise Serverアプライアンスに向かわせます。 ロードバランサを使って、セキュリティのためにアプライアンスへの直接のトラフィックを制限したり、必要に応じてDNSのレコードを変更することなくトラフィックをリダイレクトしたりできます。 PROXYプロトコルをサポートするTCPベースのロードバランサを使うことを強くおすすめします。

GitHub Enterprise Serverのホスト名に対するDNSルックアップは、ロードバランサに解決されなければなりません。 Subdomain Isolationを有効化することをおすすめします。 Subdomain Isolationが有効化されている� �合、追� のワイルドカードレコード(*.HOSTNAME)もロードバランサに解決されなければなりません。 詳しい情� �については"Subdomain Isolationの有効化"を参照してく� さい。

クライアントの接続情� �の処理

GitHub Enterprise Server へのクライアント接続はロードバランサから来ることになるため、クライアントの IP アドレスは失われることがあります。

使用しているロードバランサがサポートできるなら、PROXYプロトコルの利用を強くおすすめします。 PROXYサポートが利用できない� �合でも、X-Forwarded-Forヘッダを使ってHTTP及びHTTPSポートをロードバランスできます。

セキュリティの警告: PROXY サポートあるいは HTTP フォワーディングが有効化されている� �合、外部のトラフィックが直接 GitHub Enterprise Server アプライアンスに到達できないことが重要です。 外部トラフィックが適切にブロックされていない� �合、ソース IP アドレスが偽� されるかもしれません。

警告: HTTPS 接続をロードバランサでターミネートしている� �合、ロードバランサからの GitHub Enterprise Server へのリクエストも HTTPS を使わなければなりません。 接続の HTTP へのダウングレードはサポートされません。

GitHub Enterprise ServerインスタンスでのPROXYプロトコルサポートの有効化

We strongly recommend enabling PROXY protocol support for both your instance and the load balancer. ロードバランサでPROXYプロトコルを有効化する方法については、ベンダーが提供する指示に従ってく� さい。 詳しい情� �についてはPROXY プロトコルのドキュメンテーションを参照してく� さい。

Note: GitHub Enterprise Server supports PROXY Protocol V1, which is incompatible with AWS Network Load Balancers. If you use AWS Network Load Balancers with GitHub Enterprise Server, do not enable PROXY support.

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. 左のサイドバーでManagement Consoleをクリックしてく� さい。 左のサイドバーのManagement Consoleタブ

  4. 左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。 設定サイドバーのプライバシータブ

  5. External load balancers(外部ロードバランサ)の下でEnable support for PROXY protocol(PROXYプロトコルサポートの有効化)を選択してく� さい。 PROXY プロトコルを有効化するチェックボックス

  6. 左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。

    Screenshot of the save settings button in the Management Console

    Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.

  7. 設定が完了するのを待ってく� さい。

    インスタンスの設定

PROXYプロトコルのTCPポートマッピング

送信元ポート宛先ポートサービスの説明
2223Git over SSH
8081HTTP
443444HTTPS
80808081Management Console HTTP
84438444Management Console HTTPS
94189419Git

GitHub Enterprise ServerインスタンスでのX-Forwarded-Forサポートの有効化

PROXYプロトコルが利用できないときにかぎりX-Forwarded-Forプロトコルを利用してく� さい。 X-Forwarded-Forは、HTTP及びHTTPSでのみ動作します。 SSH経由のGit接続で示されるIPアドレスは、ロードバランサのIPを示します。

Warning: If you configure X-Forwarded-For support on GitHub Enterprise Serverインスタンス and load balancer, you may not be able to connect to the Management Console. For more information, see "Error: "Your session has expired" for connections to the Management Console."

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. 左のサイドバーでManagement Consoleをクリックしてく� さい。 左のサイドバーのManagement Consoleタブ

  4. 左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。 設定サイドバーのプライバシータブ

  5. External load balancers(外部ロードバランサ)の下でAllow HTTP X-Forwarded-For header(HTTP X-Forwarded-Forヘッダの許可)を選択してく� さい。 HTTP X-Forwarded-For ヘッダを許可するチェックボックス

  6. 左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。

    Screenshot of the save settings button in the Management Console

    Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.

  7. 設定が完了するのを待ってく� さい。

    インスタンスの設定

PROXYサポートなしで使うプロトコルのTCPポートマッピング

送信元ポート宛先ポートサービスの説明
2222Git over SSH
2525SMTP
8080HTTP
443443HTTPS
80808080Management Console HTTP
84438443Management Console HTTPS

健全性チェックの設定

ロードバランサは健全性チェックによって、事前に設定されたチェックが失敗するようになったノードがあれば、反応しなくなったノードへのトラフィックの送信を止めます。 If the instance is offline due to maintenance or unexpected failure, the load balancer can display a status page. High Availability(HA)設定では、ロードバランサはフェイルオーバーの戦略の一部として利用できます。 た� し、HAペアの自動フェイルオーバーはサポートされていません。 You must manually promote the replica instance before it will begin serving requests. 詳細は「High Availability 用に GitHub Enterprise Server を設定する」を参照してく� さい。

以下のURLのいずれかをチェックするようにロードバランサを設定してく� さい。

  • https://HOSTNAME/status HTTPSが有効な� �合(デフォルト)
  • http://HOSTNAME/status HTTPSが無効な� �合

ノードが健全でエンドユーザーからのリクエストに応えられる� �合、このチェックにはステータスコード200(OK)が返されます。

ノート: アプライアンスがメンテナンスモードの� �合、https://HOSTNAME/statusのURLはステータスコード503(Service Unavailable)を返します。 詳しい情� �については"メンテナンスモードの有効化とスケジューリング"を参照してく� さい。

Troubleshooting connectivity through a load balancer

If you cannot connect to services on GitHub Enterprise Serverインスタンス through a load balancer, you can review the following information to troubleshoot the problem.

Note: Always test changes to your network infrastructure and instance configuration in a staging environment. 詳しい情� �については "ステージングインスタンスのセットアップ"を参照してく� さい。

Error: "Your session has expired" for connections to the Management Console

If you enable support for the X-Forwarded-For header on your instance and load balancer, you may not be able to access your instance's Management Console. For more information about the Management Console and ports required for connections, see "Accessing the management console" and "Network ports."

If GitHub Enterprise Serverインスタンス indicates that your session has expired when you connect to the Management Console through a load balancer, try one of the following configurations on your load balancer.

For more information, refer to the documentation for your load balancer.