nginx + Let’s EncryptでHTTP2(ALPN)を構築

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。kenjiです。

Cent7.3、nginx1.10.2、php-fpm7.1
とインストールをしてきました。
今回はゴール目標であるHTTP2の設定に入っていきます。

SSL証明書が必要になるのですが、SSL証明書は
Let's Encrypt 製のものを利用します。

Let's Encryptについては以下のサイトを参考にお願いします
https://letsencrypt.jp/

概要

Cent7.3、nginx1.10.2、php-fpm7.1の環境にてSSLを有効にします。
Let's Encryptの利用にあたり、独自ドメインが必須となります。

実行環境

Cent7.3
nginx1.10.2
php-fpm7.1
独自ドメイン

インストール方法

インストールをしていくのですが、Let's Encrypt 自体の動作をさせるにあたり、certbotが必要になります。
こちらをまずはインストールしていきます。

certbotインストール

yumにてcertbotをインストールします
(epelリポジトリは前回のphp-fpmインストール時に利用可能になっています。)

certbotにて証明書取得

certbotコマンドが利用可能になったので、certbot経由でSSL証明書を取得します。
※-dに続く部分は利用可能なSSLに利用するドメイン名を入力してください
 ここではtestssl.skyarch.netとします。
 また、ドメイン名には既にAレコードを設定済みのものとします。

nginxにssl設定

nginxにSSL設定を実施します。
以下を実行。
※設定するドメインをtestssl.skyarch.netとします。
 実際に利用する場合は読み替えて下さい。

nginx再起動

nginxのconfを変更しているため、ngixの再起動をする必要がある。
以下のコマンドにてnginxを起動させる

動作確認

以下のサイトから動作確認ができます。
https://tools.keycdn.com/http2-test

自ドメインを入力して「test」をクリック
以下のような画面が出れば、正常に設定できています!

http2-result

http2-result

まとめ

いかがでしたでしょうか。
4部に渡り、CentOS7.3、nginx1.10.2、php7.1、SSL設定と実施してきました。
追加でRDSの利用や、mysqlのインストールなどを実施することで、高速かつ安全なwordpress環境の構築も可能になります。
(phpインストール時に既にphp-mysqlをインストール済みです)

CentOS5系で稼働していてリプレースが近い!しかし脆弱性や暗号化が心配、
iOSでアプリ提供しているから、SSL対応を考えないと・・
などなど、ぜひ本件を参考に頂けると嬉しく思います。

より進んだ対応やバーチャルホスト対応、キャッシュ設定、圧縮転送設定なども可能ですので、不明な点あればぜひお気軽にご連絡ください

投稿者プロフィール

kenji
2013年入社の平成生まれです。

初めて触ったコンピュータはPC9821でダイヤルアップでした。
その時に鯖落ちや人大杉の対応をしてくださる鯖缶になりたいと憧れ、
みなさんのお役に立てればと思っております!
#今では個人所有のパソコン・サーバだけで20台ほどあります…。

サーバー大好き!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

2013年入社の平成生まれです。 初めて触ったコンピュータはPC9821でダイヤルアップでした。 その時に鯖落ちや人大杉の対応をしてくださる鯖缶になりたいと憧れ、 みなさんのお役に立てればと思っております! #今では個人所有のパソコン・サーバだけで20台ほどあります…。 サーバー大好き!