ユーザ用ツール

サイト用ツール


サイドバー

プログレス合同会社

広告

server:letsencrypt

Let's Encrypt

プログレス合同会社では、コーポレートサイトのSSL証明書は対外的に誰もが証明書発行者を確認できるように、サイトシールが提供されている証明書を採用しています。
しかし、WikiページやメールサーバーのSSL証明書につきましてはその必要がないため、Let's EncryptでSSL証明書を発行してもらっています。

1.certbotのインストール

ドメイン使用権の認証をウェブサーバーで行わせるため、Nginx(Webサーバー)のDockerコンテナをビルドする際にcertbotを一緒にインストールしています。

: apk add --no-cache ca-certificates openssl pcre luajit expat logrotate certbot; :

2.SSL証明書の取得

SSL証明書の取得は、Nginx(Webサーバー)のDockerコンテナに入って行います。

certbot certonly \ …(1) --webroot \ …(2) -w /home/web/letsencrypt \ …(3) -d wiki.example.co.jp \ …(4) --email letsencrypt@example.co.jp \ …(5) --config-dir /opt/config/letsencrypt \ …(6) --agree-tos \ …(7) -n …(8)
(1) 証明書の発行のみを行います
(2) ウェブサーバーでドメイン使用権の認証を行います
(3) ドメイン使用権の認証用ファイルの作成先ディレクトリです
(4) 発行する証明書のドメイン(ホスト)名です
(5) Let's Encryptからの通知を受け取るメールアドレスを指定します
(6) 発行された証明書が格納されるディレクトリです
(7) ACME利用規約に同意します
(8) ユーザーからの入力を一切求めずに実行します
config-dirについては、証明書データを永続化するため規定のディレクトリ(/etc/letsencrypt)とは別のディレクトリを指定しています。

3.SSL証明書の設定(Nginx)

取得したSSL証明書をNginxで使用するには、該当サーバーの定義にSSL証明書の設定を追記します。
下記はwiki.example.co.jpのサーバー定義です。

server { listen 80; server_name wiki.example.co.jp; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name wiki.example.co.jp; ssl_certificate /opt/config/letsencrypt/live/wiki.example.co.jp/fullchain.pem; ssl_certificate_key /opt/config/letsencrypt/live/wiki.example.co.jp/privkey.pem; : }
・ httpでのリクエストはhttpsへリダイレクトさせます
・ SSL証明書は/opt/config/letsencrypt/live/内の該当サーバーのディレクトリに作成されています

server/letsencrypt.txt · 最終更新: 2017/11/05 by プログレス合同会社