リポジトリの管理者権限があるユーザは、GitHub Pages サイトに強制的に HTTPS を指定できます。
HTTPS と GitHub Pages について
カスタムドメインが正しく設定されたサイトを含めたすべての GitHub Pages サイトは、HTTPS や HTTPS 強制をサポートします。 カスタムドメインの詳細は、「カスタムドメインと GitHub Pages について」と「カスタムドメインと GitHub Pages のトラブルシューティング」を参照してください。
GitHub Pages サイトは、パスワードやクレジットカード番号といった機密情報のやりとりに使うべきではありません。
警告: GitHub Pagesサイトはデフォルトで、サイトのリポジトリがプライベートもしくはインターナルであっても、インターネット上で公開利用できます。 プロジェクトサイトがGitHub Enterprise Cloudを使用するOrganizationが所有するプライベートもしくはインターナルリポジトリから公開されるなら、そのサイトのアクセス制御を管理できます。そうでない場合は、もしセンシティブなデータがサイトのリポジトリにあるなら、公開前にそのデータを削除しておくとよいでしょう。 詳しい情報については、「リポジトリの可視性について」及び「GitHub Pagesサイトの可視性の変更」を参照してください。
あなたの GitHub Pages サイトに HTTPS を強制する
-
GitHubで、サイトのリポジトリにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。

-
左のサイドバーでPages(ページ)をクリックしてください。

-
[GitHub Pages] で、[Enforce HTTPS] を選択します。
![[Enforce HTTPS] チェックボックス](/web/20210516001639im_/https://docs.github.com/assets/images/help/pages/enforce-https-checkbox.png)
混在したコンテンツの問題を解決する
GitHub Pages サイトの HTTPS を有効化したが、サイトの HTML がまだ HTTP 経由で画像、CSS、JavaScript を参照している場合、サイトは混在したコンテンツを提供する場合があります。 混在したコンテンツを提供することで、サイトのセキュリティが下がり、アセットの読み込みに問題が生じる場合があります。
サイトでコンテンツの混在を解消するには、サイトの HTML で http:// を https:// に変更して、すべてのアセットが HTTPS 経由で提供されるようにしてください。
アセットは通常、以下の場所にあります。
- サイトで Jekyll を使用している場合、HTML ファイルは _layouts フォルダにあります。
- CSS は普通、HTML ファイルの
<head>セクションにあります。 - JavaScript は通常、
<head>セクションまたは閉じタグ</body>の直前にあります。 - 画像はたいてい、
<body>セクションにあります。
ヒント: サイトのソースファイルでアセットが見つからない場合は、テキストエディタまたは GitHub 上で、サイトのソースファイルから httpを検索してみましょう。
HTML ファイルで参照されているアセットの例
| アセットのタイプ | HTTP | HTTPS |
|---|---|---|
| CSS | <link rel="stylesheet" href="http://example.com/css/main.css"> | <link rel="stylesheet" href="https://example.com/css/main.css"> |
| JavaScript | <script type="text/javascript" src="http://example.com/js/main.js"></script> | <script type="text/javascript" src="https://example.com/js/main.js"></script> |
| 画像 | <A HREF="http://www.somesite.com"><IMG SRC="http://www.example.com/logo.jpg" alt="Logo"></a> | <A HREF="https://www.somesite.com"><IMG SRC="https://www.example.com/logo.jpg" alt="Logo"></a> |