LoginSignup
4
2

More than 5 years have passed since last update.

Let’s Encrypt!!を始めよう

Last updated at Posted at 2018-09-09

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の構成で作成する。

install
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

/etc/nginx/conf.d/ssl.conf
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

/etc/nginx/conf.d/ssl.conf
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;
  }
}

書き変わった、簡単、最高!!

4
2
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
4
2