nginx上でHTTP/2のALPNを有効化することができた。原因はopensslのバージョンが古かったから。

公開:2016-05-21 17:07
更新:2020-02-15 04:37
カテゴリ:nginx,web

HTTP/2 TestでALPNがサポートされていないと表示されるので、原因を探ったところどうもopensslのバージョンが古いらしいということが分かった。 なので、opensslの1.0.2hをインストールした。インストール方法は下記の情報を参考にした。

http://qiita.com/ryosy383/items/48bad1aeed2c4be23b45

インストールは問題なく終わったけど、この後ブラウザからサイトにアクセスすると「ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY」というエラーが発生して接続不能になった。

このエラーを回避する方法は明確にはわからなかったが、nginxはopensslを使用しているのでopensslをバージョンアップしたことによって不整合が起こっているのだろうと思い、nginxをソースビルドすることにした。ビルドするときにopensslへのソースパスを--with-opensslで指定した。

ビルド後再起動するとエラーが消え、HTTP/2 Testを実行すると「ALPN supported.」となった。

https://sfpgmr.github.io/images/2016/05/2016052103.png