ウェブ系

ウェブサイトを常時SSL化!httpsを強制する方法

こんばんは。
いきなりですが、ウェブサイトを閲覧するとき、スマホやPCはウェブサイトが設置されているサーバーと通信をしています。
SSLというのはこの通信を暗号化する仕組みのことで、アドレスバーには「https://~~」と表示されます。
逆に暗号化されていない非SSLの通信は「http://~」となり、ブラウザによっては「保護されていない通信」「安全でない接続」とか警告が出たりします。
簡単にSSLの説明はしましたが、今回はもうSSL化してるけどhttpでのアクセスをやめさせたい人向けの記事です。SSLにどうやってするかはまた別の機会に書きたいと思います。

http を https へリダイレクトさせる(.htaccess)

まずはApacheのmod_rewriteモジュールを利用したやり方。
ドメインの正規化とかでも使うやつですね。
.htaccessに以下を書きます。

その後httpで直接叩いてみて、httpsにリダイレクトされてたらOKです。

HSTS(HTTP Strict Transport Security)を有効にする

これを設定すると初めてhttpでアクセスがあった場合に、サーバーは「次回以降はhttpsでアクセスするように」とブラウザに促します。
ブラウザはそれを記憶しておいて次回以降指示された期間はhttpsでアクセスするというものです。
これも.htaccessに書きます。

3153600秒=1年間 有効で、アクセスのたびに更新されます。

HSTSプリロード(HSTS Preload)を利用する

2.のHSTSを有効にしただけだと、初回のアクセスはhttpでアクセスされてしまいます。
そこで、「HSTS Preloadリスト」というgoogleが取りまとめているリストに登録することで、ブラウザは初回のアクセスでもhttpsで接続するようになります。
主要なブラウザ(Chrome、Internet Explorer、Microsoft Edge、Firefox、Safari、Opera)で対応しているようです。
まずは、2.で先ほど記述した部分を少し書き換えます。

次に、「HSTS プリロードリスト」へ登録しましょう。
登録はこちらから→https://hstspreload.org/
ドメインを入力して「Check HSTS preload status and eligibility」をクリック。
チェックされて常時SSLできているようであれば、チェックボックスが出るので、チェックして「Submit ドメイン to the HSTS preload list」をクリック。
「Success」と出れば完了です。

プリロードまでやっておけば、常時SSL化もバッチリですね。
今後非SSLのウェブサイトは検索順位に影響するなど多くのデメリットが予想されますので、これを機会にぜひSSL対応してみてください。

予約投稿が動かない。そんなときは「wp-cron」を確認しよう。前のページ

「Cocoon」のサイドバーでモバイル用の広告ウィジェットを表示させる方法次のページ

関連記事

  1. WordPress

    「SiteGuard WP Plugin」を入れよう【WordPressのセキュリティ対策①】

    こんばんは。WordPressはデフォルトのままだと「/wp-lo…

  2. ウェブ系

    「Cocoon」本文の上下両方にカテゴリやタグを出す方法

    今日は無料なのに高機能、WPテーマ「Cocoon」のカテゴリ・タグ表示…

  3. WordPress

    予約投稿が動かない。そんなときは「wp-cron」を確認しよう。

    こんばんは。WordPressでせっかくサイトを作ったのに、予約投…

  4. ウェブ系

    【IE11】border-radiusで角丸にすると隙間が出来るバグ

    Googleは常時SSL化をすすめています。ウェブサイトやブログを作っ…

  5. WordPress

    「WordPress」導入から初期設定まで

    Webサイトを作りたいけど、どうやっていいか分からない・・・・。そんな…

  6. ウェブ系

    「Cocoon」のサイドバーでモバイル用の広告ウィジェットを表示させる方法

    こんばんは。WPテーマで有名な「Cocoon(コクーン)」は、モバ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

PAGE TOP