今日はhttps対応をしていて見つけたテクニックやツールなんかを紹介してまいろう。
まずはContent-Security-Policy: upgrade-insecure-requestsでhttpをhttpsとして強制的に読み込む方法。これはコバろぐさんで紹介されているのを知って、ひとまず追加しておくことにした。
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
一応、おまじないとしてheadに追加しておくのもありなんだが、技術的な情報もまとめておこう。Content-Security-Policyとはこんな機能。
ここで役に立つのが、Content-Security-Policy の upgrading insecure request です。
Content-Security-Policy に新たに追加された仕様です。Upgrading insecure request を設定すると、HTTPSページでHTTP読み込みが発生している場合、ブラウザはそのコンテンツをHTTPではなくHTTPSで読み込みます。
したがって混在するコンテンツエラーを回避できるのです。
気をつけてほしいのはこれは一時的な対応であって、本来ならば手作業で全部変えるべきであるんだ。対応していないブラウザもあるらしい。
upgrade-insecure-requests は新しい仕様です。
対応するブラウザを調べたのですが、調べきれていません。
少なくとも、最新のChromeとFirefoxはサポートしているはずです。Content Security Policy には、CSP1.0 と CSP Level 2 の2つがあり、Safari と Internet Explorer は CSP Level 2 を最新バージョンでもサポートしていないようです。
upgrade-insecure-requests が CSP Level 2 に含まれるなら Safari と IE は対応していないということになりそうです(どなたかに、upgrade-insecure-requestsのブラウザサポート状況を調べていただけると嬉しいです)。
upgrade-insecure-requestsは一時的な対応だけどおまじないとしてheadに入れておくと楽に対応できるかもです。
次はhttps対応で使えるツールなんぞを紹介しておこう。
httpsページにhttpリソースを読み込むとmixed-contentというエラーが発生して、「保護された通信」にならない。https checkerは指定したURLを全ページクロールして、mixed-contentを検出することができる。
ダウンロードは上記のリンクから行ってください。無料版では500ページまでは行うことができる。だけどまぁ、僕のブログは1000記事以上あるからPro版にしたけどね。Pro版の一番安いプランは月9$で10000ページまでクロールすることができる。僕のところで2500ページはあるので、そこそこ長期間ブログ運営した方だとProプランじゃないと間に合わないだろう。
インストールすると下記の画面になる。
上のフォームには自サイトのURLを入れて、その下のセレクトボックスは「mixed-content ONLY」を選択する。これでボタンを押すとスキャンが始まる。
Total Issuesが結果である。この画面では122件のmixed-contentが検出されている。
検出されたmixed-contentはわざわざそのページでコンソールを開いて調べなくても、検索結果から見ることができる。
検出結果はPDFやCSVファイルとして出力可能なので、それを見ながら地道に一つづつ直していくのがhttps変更作業では必要だろう。https checkerはその作業に便利です。
【完全保存版】今すぐ誰でも使えるブログのネタ切れ対策 - 超メモ帳(Web式)@復活
現時点でもブログ初心者がはてなブログを選ぶのはベストプラクティスな気がするな。 - 超メモ帳(Web式)@復活
はてなブログの独自ドメインがHTTPS通信が始まったので対応した。 - 超メモ帳(Web式)@復活