Chienomi

ブログをSSLを強制するように変更

ウェブサイト開発

先のSSLの記事がちょっとバズったのだけど、そこでツイートしたりするとHTTPになってしまうことに気づいた。

そこを修正しようかと思ったのだけど、どうせだからHTTPS強制するようにした。

そもそも私のサイトがHTTPに対応している理由はアクセシビリティである。 レガシー環境や、自作ツールを使っている人にとってHTTPSは障害となりうる(特にLet’s Encryptを使っているので、レガシー環境では警告される)。 そのためHTTPの接続を便宜上受け入れるようにしている。

しかし、ブログはWordPressなので、レガシー環境どころか、ちょっと前の現役環境ですら支障があるので、 HTTPを受け入れる必要がないことに気づいた。

まぁ、ブログに関しては別のサーバーでやっていたので、HTTPSに対応する方法がなかったのだが、 つい最近ブログを取り込んでからも特にHTTPSを案内することもしていなかった (ブラウザや検索結果ではデフォルトでHTTPSを選択するだろう、という考えもあった)。

だが、せっかくHTTPSに対応したし、特に私はHTTP推進派というわけでもないので、HTTPを強制するようにした。

方法は、rewiteするのではなく、301を返している。

server {
        listen 80;
        listen [::]:80;
        server_name chienomi.reasonset.net;
        access_log /var/log/nginx/chienomi.log;
        return 301 https://$host$request_uri;
}


server {
  server_name chienomi.reasonset.net;
  root /web/blog/chienomi;

  access_log /var/log/nginx/chienomi.log;
  index           index.php;

  include global/sslsettings.conf;
  include global/wpsettings.conf;
}

設定をまとめていることで非常にシンプルである。