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

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

TLSの設定

信� �できる認証機関によって署名された証明書を使用できるように、GitHub Enterprise Serverインスタンス で Transport Layer Security (TLS) を設定できます。

Transport Layer Securityについて

SSL に代わる TLS は、GitHub Enterprise Server の初回起動時に有効になり、自己署名証明書で設定されます。 自己署名証明書は Web ブラウザや Git クライアントから信� �されていないため、TLS を無効にするか、Let's Encrypt などの信� �できる機関によって署名された証明書をアップロードするまで、これらのクライアントは証明書の警告を� �告します。

SSL が有効な� �合、GitHub Enterprise Server アプライアンスは HTTP Strict Transport Security ヘッダーを送信します。 TLSを無効化すると、ブラウザはHTTPへのプロトコルダウングレードを許さないので、ユーザはアプライアンスにアクセスできなくなります。 詳しい情� �についてはWikipediaの"HTTP Strict Transport Security"を参照してく� さい。

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

ユーザが2要� 認証のFIDO U2Fを利用できるようにするには、インスタンスでTLSを有効化しなければなりません。 詳しい情� �については「2 要� 認証の設定」を参照してく� さい。

必要な環境

プロダクションでTLSを利用するには、暗号化されていないPEMフォーマットで、信� �済みの証明書認証局によって署名された証明書がなければなりません。

また、証明書には"Subdomain Isolationの有効化"のリストにあるサブドメインに設定されたSubject Alternative Namesが必要で、中間証明書認証局によって署名されたものであれば、完全な証明書チェーンを含んでいる必要があります。 詳しい情� �についてはWikipediaの"Subject Alternative Name"を参照してく� さい。

ghe-ssl-generate-csr コマンドを使用すれば、インスタンス用の証明書署名要求 (CSR) を生成できます。 詳しい情� �については、「コマンドラインユーティリティ」を参照してく� さい。

カスタ� のTLS証明書のアップロード

Warning: Configuring TLS causes a small amount of downtime for GitHub Enterprise Serverインスタンス.

  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. TLS only (recommended)(TLSのみー推奨)を選択してく� さい。 TLS onlyを選択するチェックボックス

  6. [TLS Protocol support] で、許可するプロトコルを選択します。 TLS プロトコルを選択するオプションを備えたラジオボタン

  7. "Certificate(証明書)"の下でChoose File(ファイルの選択)をクリックし、インストールしたいTLS証明書もしくは証明書チェーン(PEMフォーマット)を選択してく� さい。 このファイルは通常、.pem.crt.cer といった拡張子を持ちます。 TLS 証明書ファイルを見つけるためのボタン

  8. Under "Unencrypted key", click Choose File to choose an RSA key (in PEM format) to install. このファイルは通常.keyという拡張子を持ちます。 TLS鍵ファイルを見つけるためのボタン

    Warning: Your key must be an RSA key and must not have a passphrase. 詳しい情� �については"キーファイルからのパスフレーズの除去"を参照してく� さい。

  9. 左のサイドバーの下で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.

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

    インスタンスの設定

Let's Encryptのサポートについて

Let's Encryptは公開の証明書認証者で、ACMEプロトコルを使ってブラウザが信� �するTLS証明書を、無料で自動的に発行してくれます。 アプライアンスのためのLet's Encryptの証明書は、手動のメンテナンスを必要とせず自動的に取得及び更新できます。

Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。

Let's Encryptを使ったTLS証明書管理の自動化を有効にすると、GitHub Enterprise ServerインスタンスはLet's Encryptのサーバに接続して証明書を取得します。 証明書を更新するには、Let's EncryptのサーバはインバウンドのHTTPリクエストで設定されたドメイン名の制御を検証しなければなりません。

また、GitHub Enterprise Serverインスタンス上でコマンドラインユーティリティのghe-ssl-acmeを使っても、自動的にLet's Encryptの証明書を生成できます。 詳細は「コマンドラインユーティリティ」を参照してく� さい。

Let's Encryptを使ったTLSの設定

Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。

Warning: Configuring TLS causes a small amount of downtime for GitHub Enterprise Serverインスタンス.

  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. TLS only (recommended)(TLSのみー推奨)を選択してく� さい。 TLS onlyを選択するチェックボックス

  6. Enable automation of TLS certificate management using Let's Encrypt(Let's Encryptを使った自動的なTLS証明書管理の有効化)を選択してく� さい。 [Let's Encrypt] を有効化するチェックボックス

  7. 左のサイドバーの下で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.

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

    インスタンスの設定

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

  10. Request TLS certificate(TLS証明書のリクエスト)をクリックしてく� さい。 [Request TLS certificate] ボタン

  11. Wait for the "Status" to change from "STARTED" to "DONE". Let's Encrypt status

  12. Save configuration(設定の保存)をクリックしてく� さい。