DokuWikiで情報発信

個人での情報発信や社内での情報共有に便利なDokuWikiを紹介するサイトです。

ユーザ用ツール

サイト用ツール


サイドバー

目次

DokuWikiを理解

DokuWikiの構築

よく確認するページ

server:lets-encrypt.html



「サーバ準備」に戻る

Let's Encryptの無料SSL証明書を使ってhttps暗号化通信

概要

Webrootプラグイン
Certbot クライアントを実行するコンピュータでウェブサーバ(httpd)が動作中であり、ウェブサーバを停止することなく SSL/TLS 証明書を発行したい場合には、Webroot プラグインをご利用ください。
Webroot プラグインは、コマンドラインオプションで certonly と –webroot を指定することで使用可能です。

https://letsencrypt.jp/docs/using.html


Let's Encryptのコマンド準備

RHEL/CentOS 7

# yum install epel-release
# yum install certbot


コマンドの確認

# certbot -h

  certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

obtain, install, and renew certificates:
    (default) run   Obtain & install a certificate in your current webserver
    certonly        Obtain or renew a certificate, but do not install it
    renew           Renew all previously obtained certificates that are near

expiry
   -d DOMAINS       Comma-separated list of domains to obtain a certificate for

  --standalone      Run a standalone webserver for authentication
  (the certbot nginx plugin is not installed)
  --webroot         Place files in a server's webroot folder for authentication

   -n               Run non-interactively

  --dry-run         Test "renew" or "certonly" without saving any certificates to disk

manage your account with Let's Encrypt:
  --agree-tos       Agree to the ACME server's Subscriber Agreement
   -m EMAIL         Email address for important account notifications


証明書の生成

ドメインごとに行う処理です。

# certbot certonly --webroot -w /usr/share/nginx/html/example.com/dokuwiki/ -d example.com -m yourmail@gmail.com --agree-tos

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2018-03-28. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
  • --webroot : 動かしているWebサーバ(AapcheかNginx)を利用して、ドメインの確認をする方法です。
    • --standaloneにすると、一時的にLet's EncryptのWebサーバを起動しドメインを確認しますが、既にWebサーバが起動していると利用できません。
  • -w : ディレクトリにtest.htmlを作成すると、http://example.com/test.html でアクセスすると表示できるディレクトリ
    • 例:/var/www/html/test.html


証明書の更新設定

土曜の22時に更新するようにします。

0 22 * * 6 certbot renew | systemctl restart nginx


NginxのSSL設定方法

設定

設定ファイル例 : /etc/nginx/conf.d/xxxxx.conf

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ;
    server_name example.com;

    ssl on;
    ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;  

    (略)
}

セキュリティーのために以下も追加しましょう。

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets on;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_prefer_server_ciphers on;
設定反映
# systemctl reload nginx   <- Nginxの設定反映


Apache httpサーバのSSL設定方法

設定

設定ファイル例 :/etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
設定反映
# lsof -i :443             <- 追加したいポートが既に利用されていないか確認
# nginx -t                 <- 設定の確認
# systemctl reload httpd   <- Nginxの設定反映
# lsof -i :443             <- 追加したいポートがあがっていることを確認





「サーバ準備」に戻る




server/lets-encrypt.html.txt · 最終更新: 2018/11/04 by oreda admin

ページ用ツール