LoginSignup
2
0

More than 3 years have passed since last update.

Let's Encrypt!でSSL証明書を発行してApacheに設定するまでの記録

Last updated at Posted at 2019-09-19

環境

OS: CentOS7
マシン: AWS EC2インスタンス
Web Server: Apache2.4
DNS: IPとドメイン名の紐付けがされている。
IP制限: HTTP, HTTPS共に社内ネットワークからのアクセスのみ受け付ける。

Certbotのインストール

$ yum install certbot

証明書の発行

発行時にLet's Encrypt!側のサーバからのアクセスを受け付ける必要があるので、以下のIPからのインバウンドを通すようにIP制限設定を変更する。
- 13.58.30.69
- 34.213.106.112
- 52.29.173.72
- 64.78.149.164
- 66.133.109.36
(見付けられたのが5つなのであって、他にも存在するかも)

$ certbot certonly --webroot -w /var/www/html -d hogehoge.piyopiyo.com
メールアドレスやらYES/NOやら適当に。

mod_sslのインストール

ApacheでSSLを有効にするためのモジュールをインストールする。
$ yum install mod_ssl
しかし依存関係の競合が発生して入らなかったので、最終的にrpmからインストールした。

ApacheにpemファイルのPATHを設定

/etc/httpd/conf.d/ssl.conf
...
SSLCertificateFile /etc/letsencrypt/live/hogehoge.piyopiyo.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hogehoge.piyopiyo.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/hogehoge.piyopiyo.com/chain.pem
...

Apache再起動

$ systemctl restart httpd

証明書自動更新の設定

Let's Encrypt!で発行される証明書は有効期限が90日間と非常に短いので、Cronで自動更新する。
失効が近付くとメールが送られるらしい。

$ crontab -e

00 04 01 * * certbot renew -q --no-self-upgrade --post-hook "systemctl restart httpd"

調査事項

  • standaloneでの発行ならIP制限を変更しないで済んだらしいが、調子に乗りすぎて発行数が上限に達してしまったので試せてない。
  • 来月の1日に自動更新Cronがちゃんと動いてくれるか?
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0