Install Apache+mod_ssl(HTTP/2) on CentOS 7 with CodeIT repo

Facebooktwittermail

以前からHTTP/2が気になっていたのですが、ソースからコンパイルするのも面倒だなと放置していたのですが、下記の記事を読んで試してみることにしました。

Apache httpd 2.4.25 built against OpenSSL 1.0.2j with http2 for Red Hat Enterprise Linux and CentOS
https://codeit.guru/en_US/2017/01/apache-httpd-2-4-25-built-against-openssl-1-0-2j-with-http2-for-red-hat-enterprise-linux-and-centos/

OpenSSL 1.0.2jを組込んだApacheとmod_sslが用意されています。
HTTP/2ではApache 2.4.17+, OpenSSL 1.0.2+が必要になるのですが、標準repoではApache 2.4.6で動作させることはできません。

Apache 2.4.17+を提供するrepositoryにはIUSやSCLがありますが、いずれもOpenSSL 1.0.1eでALPNに対応していないのでHTTP/2では動作しませんでした。
“ALPN/NPN, server did not agree to a protocol”となります。

【検証環境】
・CentOS Linux release 7.4.1708 (Core)
・Kernel 3.10.0-693.2.2.el7.x86_64

  1. Create CodeIT repo
  2. インストールディレクトリは標準パッケージと同じようです。

  3. Install httpd
  4. Install mod_ssl
  5. OpenSSL 1.0.2lでビルドされています。

以降はHTTP/2に必要な証明書やプロトコルの設定をするのですが、その記事は次回に。
取り敢えず一通り設定して検証したところ無事にHTTP/2で通信が行われていました。

IUSやSCL repositoryもCentOS 7.4からbaseで1.0.2kが提供されているので、そのうち対応すると思います。
本稼働マシンに使用するには少し心配なところもありますが、検証環境でゴリゴリ弄るのには最適だと思います。

こうしてyumで簡単にインストールできるようになるのは本当に有り難いことです。
Thanks! Alexander Gerasimov and CodeIT Technical blog.

Leave a Reply