webサーバーの安全性を高めるため、通信内容を暗号化してみることを考える。 暗号化する方法はいくつかあるが、サーバー認証も行うことができるhttpsがよく用いられる。 そしてこのhttpsを利用するためにSSL証明書というものを発行し、サーバーに設定する必要がある。 今回は無料で証明書を発行できるLet’s Encryptを使ってみた。
Let’s EncryptではCertbotというパッケージをインストールして進める。 そのためにまずLinuxbrewをインストールした。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH" test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH" test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile brew install hello
その後Linuxbrewを使ってCertbotをインストールした。そしてCertbotを用いてSSL証明書を発行した。
brew install certbot certbot certonly --webroot -w /var/www/html -d [ドメイン名]
一応発行された証明書を確認した。
openssl x509 -text -noout -in /etc/letsencrypt/live/[ドメイン名]/[証明書]