Webサーバー「H2O」の使い方 on Ubuntu 18.04(Let’s EncryptによるSSL化)

最近はめっぽうH2Oを使うことが多くなったので、紹介。 インストール H2Oの設定ファイルを記載 h2o.confの内容 systemd用の設定ファイルを作成 h2o.serviceの中身 H2Oを起動 ブラウザで ドメインにアクセスして Hello H2O! と表示されたら成功。 SSL化 H2Oに適用 h2o.confの中身 H2Oを再起動 ブラウザでドメインにアクセスして、https://〜 にアクセスしていたら成功。また、「HTTP/2 and SPDY indicator」(https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin )をインストールしてアクセスしてみて、下の画像のように青くなっていたらHTTP2によるアクセスが可能となっている。

Let’s Encryptで良いSSL証明書を無料で発行してもらった

サービス自体は知っていたんだけど、お金払ってSSL証明書を作っていたもので、失効とともに切り替えた。 [amazonjs asin=”B00PHC4480″ locale=”JP” title=”食べる!SSL! ―HTTPS環境構築から始めるSSL入門”] Let’s Encryptについて Let’s Encrypt はLinuxの運営をしているLinux Faundationがコラボしているプロジェクトで、ざっくりいうと良いSSL証明書を無料で発行している。自己証明書はもう、やめよう。 使い方 今回は、このブログのドメインである「blog.umentu.work」と「www.blog.umentu.work」の2つについてのSSL証明書を取得する。「blog.umentu.work」と「www.blog.umentu.work」の部分は使っているドメインに置き換えて読んで欲しい。 OSはUbuntu/CentOSのどちらでも問わないが、apt-get か yum でgitをインストールしておく必要あり。 また、一応Apacheの場合と、Nginxの場合の両方の設定の仕方を記述しておく。 $ sudo apt-get install git $ sudo yum install git gitからclientをダウンロード $ cd $ git clone https://github.com/certbot/certbot Apache/Nginxを停止する 各ディストリビューションによるため、serviceコマンドなりsystemctlなりで停止する。 ドメインを登録する $ cd ~/certbot $ ./certbot-auto certonly –standalone -d blog.umentu.work -d www.blog.umentu.work SSL証明書を確認する /etc/letsencrypt/live/ドメイン/ 配下に4つのファイルが設置されている、はず。 ls /etc/letsencrypt/live/blog.umentu.work/ cert.pem chain.pem fullchain.pem privkey.pem ファイルについては以下のとおり。 cert.pem SSL証明書 chain.pem 中間証明書 fullchain.pem SSL証明書と中間証明書を一緒にしたもの privkey.pem 秘密鍵 Apache/Nginxに適用する Apache/Nginx のそれぞれのconfファイルに、SSLの設定を追記する。 SSLEngine on SSLCertificateFile /etc/letsencrypt/live/blog.umentu.work/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/blog.umentu.work/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/blog.umentu.work/chain.pem listen 443; ssl on; ssl_certificate /etc/letsencrypt/live/blog.umentu.work/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/blog.umentu.work/privkey.pem; ### Apache/Nginxを起動する 各ディストリビューションによるため、serviceコマンドなりsystemctlなりで起動する。 以上。 当ブログも、Let’s EncryptのSSL証明書を適用している。