Let’s Encrypt 使用方法

Let’s Encryptとは

読み方:レッツ エンクリプト
「インターネットを介した安全な通信を行う際の、経済面・技術面・教育面での障壁を減らす」を使命としている、非営利団体ISRGが開発したサービス
無料、簡単にWEBサイトをSSL化できる

 

インストール

Pythonインストール
yum install certbot certbot-apache
# yum install scl-utils python27 python27-python-tools
# 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」参照

MySQL

次の記事

MySQL コマンド