Let’s Encrypt 使用方法
目次
Let’s Encryptとは
読み方:レッツ エンクリプト
「インターネットを介した安全な通信を行う際の、経済面・技術面・教育面での障壁を減らす」を使命としている、非営利団体ISRGが開発したサービス
無料、簡単にWEBサイトをSSL化できる
インストール
Pythonインストール
# scl enable python27 bash
certbotインストール
certbot=Let’s Encryptが提供する証明書発行・更新ツール
# cd /usr/local
# git clone https://github.com/letsencrypt/letsencrypt
certbot-autoインストール
certbot-auto=Let’s Encryptが提供する証明書発行・更新ツール
Let’s Encryptから証明書を取得し、サーバのHTTPSを有効化する
# curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
# chmod 700 /usr/bin/certbot-auto
証明書生成
apacheを停止しておく事
通常
# letsencrypt/letsencrypt-auto certonly -a standalone -d ドメイン名
# letsencrypt/letsencrypt-auto certonly -a standalone -d office-yone.com
DNS使用
certbot certonly
–manual
サブドメイン用
–domain *.office-yone.com
メインドメイン用
–domain office-yone.com
–email yone@office-yone.com
–agree-tos
–manual-public-ip-logging-ok
–preferred-challenges dns-01
–server https://acme-v02.api.letsencrypt.org/directory
実行後メッセージ
Please deploy a DNS TXT record under the name
_acme-challenge.office-yone.com with the following value:
↓をDNS登録(TXTレコード)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ドメインを複数指定した場合、複数DNS登録する
Before continuing, verify the record is deployed.
結果
↓ に証明書、秘密鍵が生成される
/etc/letsencrypt/live/office-yone.com/
└cert.pem
└privkey.pem
└chain.pem
設定
証明書設定
※ /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/letsencrypt/live/office-yone.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/office-yone.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/office-yone.com/chain.pem
設定後、apacheを起動しておく事
Let’s Encryptの証明期限は3カ月
WEBサイトのリンク修正
上記設定によりSSL化は完了。
サイト内で「Http://~」でリンクを張っている場合、
上記画像の様に「保護された通信」とならず、「!」が表示されている場合は、「Https://~」に変更する
HTTP→HTTPSへリダイレクト
.htaccessファイル
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
証明書の自動定期更新
# crontab -e
00 04 01 * * ~/certbot-auto renew ̠–force-renew && service httpd graceful
毎月1日4:00にcertbot-autoを定期実行
「Linux CRON」参照