Let’s Encrypt!!
オレオレ証明書の時代はもう終わってしまった・・・
Let’s Encrypt最高だったので紹介
どんなもの?
Archウィキより引用
Let’s Encrypt はフリーかつ自動化されたオープンな認証局です。ACME プロトコルを利用しています。
公式クライアントは Certbot という名前で、コマンドラインから有効な X.509 証明書を取得できます。また、手動で CSR 作成を行うミニマルなクライアントを acme-tiny でインストールすることができます。スクリプトで使用するのに適したクライアントとして simp_le-gitAUR や letsencrypt-cliAUR も存在します。
もうオレオレ証明書で危険なサイトなんて表示させない!!
インストール
Let’s Encryptは「Certbot」という公式ツールを使用する
各ディストリビューションごとのインストール方法は下記参照
今回はArchLinux+nginxの構成で作成する。
sudo pacman -S certbot-nginx
証明書生成&nginxコンフィグ自動設定
certbot-nginx プラグインは nginx の server ブロックを自動的に設定してくれる。
※書き換えられたくなかったら、証明書生成のみを実施!
sudo certbot --nginx
sudo certbot --nginx certonly
上記にて下記の場所に証明書が生成される
/etc/letsencrypt/live/[domain]/
※例としてexsampele.comで記述しているが、実際はこの設定でやるとエラーはくので注意exsampele.comは自分のFQDNに置き換えてください。
例:
befor
server {
listen 443;
server_name exsampele.com;
ssl on;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/index.html $uri.html @gitlab;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
after
server {
listen 443;
server_name exsampele.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/exsampele.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/exsampele.com/privkey.pem; # managed by Certbot
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/index.html $uri.html @gitlab;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
書き変わった、簡単、最高!!