リポジトリの管理者権限があるユーザは、GitHub Pages サイトに強制的に HTTPS を指定できます。
HTTPS と GitHub Pages について
カスタムドメインが正しく設定されたサイトを含めたすべての GitHub Pages サイトは、HTTPS や HTTPS 強制をサポートします。 カスタムドメインの詳細は、「カスタムドメインと GitHub Pages について」と「カスタムドメインと GitHub Pages のトラブルシューティング」を参照してください。
HTTPS 強制は、2016 年 6 月 15 日より後に作成された、github.io
ドメインを使っている GitHub Pages に必要です。 2016 年 6 月 15 日より前にサイトを作成した場合、手動で HTTPS 強制を有効化できます。
GitHub Pages サイトは、パスワードやクレジットカード番号といった機密情報のやりとりに使うべきではありません。
Warning: GitHub Pages sites are publicly available on the internet, even if the repository for the site is private or internal. サイトのリポジトリにセンシティブなデータがあるなら、公開前にそれを取り除くのが良いでしょう。 For more information, see "About repository visibility."
あなたの GitHub Pages サイトに HTTPS を強制する
- GitHubで、サイトのリポジトリにアクセスしてください。
- リポジトリ名の下で Settings(設定)をクリックしてください。
- [GitHub Pages] で、[Enforce HTTPS] を選択します。
混在したコンテンツの問題を解決する
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> |