kaeruspoonがHTTP/2に対応しました
広島はよかったですね。
いまさら感もありますが、このブログ、kaeruspoonをHTTP/2に対応させました。
やる前はちょっと大変なのかなと思っていたのですが、ほとんど何もやることはありませんでした。
まず、サイトをSSL化させておきます。kaeruspoonはすでに Let’s EncryptでHTTPS化しています。
kaeruspoonはweb serverにnginxを使っています。nginxはversion1.9.5からHTTP/2に対応しているので、versionをあげておきます。EC2のyumでは1.12.1になりました。
続いてHTTP/2の設定をしますが、nginx.confのlistenの項目にhttp2
を追加するだけです。
server {
listen 443 ssl http2;
server_name www.kaeruspoon.net;
...
nginxを再起動してアクセスしてみたら、HTTP/2でやりとりしていました。
nginxでリバースプロキシをして、バックエンドのRailsアプリにリクエストを流していますが、こちらはhttpでアクセスしているため何も設定を変える必要はありません。
Chromeのツールでリクエストがどのくらい変わったのか見てみたのですが、ほとんど違いはありませんでした。考えてみると、www.kaeruspoon.net
で提供しているリソースは本体のHTMLとひとつのJSとひとつのCSSだけなのでした。
HTTP/2にしたからには、CSSなどはひとつにまとめないほうがいいのかな。このあたりはまた時間を取って調べてみましょう。
はっきりいってブログに書くほどの内容でもないのですが、なんとなく書いてしまいました。こうしてインターネット上にまたゴミコンテンツが増えていきます。
HTTP Strict Transport SecurityとRails
Chromeのツールを見ていて気づいたのですが、HSTSヘッダがふたつ存在していました。最初は混乱したのですが、nginxでHSTSヘッダを追加していて、Rails側でもHSTSヘッダが付与されていたのでした。
最初はRails側でHSTSヘッダをつけないようにしようとしたのですが、config.ssl_options = { hsts: false }
を設定してもmax-age
が 0
になるだけでヘッダの付与自体は削除できないようでした。
このため、nginx側でのHSTSヘッダ付与をやめています。