certbotでexpressをhttps化する

デプロイ先のサーバーはUbuntu 16.04です。

certbotのインストール

まずは公式サイトに従ってパッケージを入れます。

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot 

証明書の作成

次に証明書を作成しましょう。

慣れてないうちは対話形式の方がわかりやすいと感じました。
次のコマンドで作成していきます。

注意:この時に80番ポートを占有しているサービスを止めましょう。(Apache, Nginxなど)

sudo certbot certonly

1、メールアドレス、ドメインと入力していきます。

終わった後に

Conguraturation!

がの文字が見えたらOKです。

作成された証明書を確認します。

ls /etc/letsencrypt/live/your.domain.com

証明書の更新(テスト)

dry-runで更新のテストをしてみましょう。

certbot renew --dry-run

ここでもConguraturationを見て判断すれば楽です。

expressの設定

こちらの記事が大変参考になりました。

https://qiita.com/MahoTakara/items/71977be2d18405fe7339

ポイントは2つだけ。

  • httpsで証明書のオプションを指定してサーバーを作成
  • 作成したサーバーでリッスン
const fs = require('fs')
const https = require('https')
const options = {
  key: fs.readFileSync('/etc/letsencrypt/live/api.moji-count.online/privkey.pem'),
  cert: fs.readFileSync('/etc/letsencrypt/live/api.moji-count.online/fullchain.pem'),
}

const server = https.createServer(options, app)

server.listen(3000)

3000番ですが、問題なくhttpsでつなぐことができるようになりました。

コメントを残す

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