内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
06_virtualization
»
05_container
»
10 Docker Let's Encrypt
トレース:
•
43 Laravel APIトークン名(api_token)を変更
•
24 Ceph OSD 追加
•
08 vzabackup
•
28 Ceph Mon 追加
•
nrpeで監視
06_virtualization:05_container:10_docker_let_s_encrypt
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 10 Docker Let's Encrypt ====== certbot のdockerイメージ利用 certbotをそのままインストールは->[[01_linux:02_www:18_let_s_encrypt_certbot]] Let's Encryptの証明書だけサッと利用したい場合にとても便利 ※network_mode: hostで利用したい場合は、firewallも開ける <code|docker-compose.yml> --- version: "3" services: nginx: image: nginx restart: always volumes: - /etc/nginx/conf.d:/etc/nginx/conf.d - /etc/letsencrypt:/etc/letsencrypt - /var/www/html:/var/www/html ports: - 80:80 #network_mode: host certbot: image: certbot/certbot volumes: - /etc/letsencrypt:/etc/letsencrypt - /var/www/html:/var/www/html command: ["--version"] network_mode: host </code> ===== Nginxのdefault.conf用意 ===== mkdir -p /etc/nginx/conf.d 下記のdefault.confを用意しておく <code|/etc/nginx/conf.d/default.conf> server { server_name example.com; listen 80; listen [::]:80; # テストとして普通に表示させる場合 location / { root /var/www/html; index index.html index.htm; } # 全てのリクエストをSSLサイトにリダイレクト #location / { # return 301 https://$host$request_uri; #} # 例外的に証明書更新時のlet's encryptからのリクエストは80番で受ける(443に飛ばしても実は問題ない) location /.well-known/acme-challenge/ { root /var/www/html; } } </code> ===== 一回起動 ===== これでnginxのdocker imageをダウンロードして起動してくれる。 # docker-compose up -d ===== 証明書作成 ===== docker-compose run --rm certbot certonly --webroot -w /var/www/html -d hogehoge.com ===== 証明書更新 ===== docker-compose run --rm certbot renew ===== 証明書一覧確認 ===== docker-compose run --rm certbot certificates ===== Cronでの証明書更新 ===== [[50_dialy:2024:08:31]] ===== NginxでSSL有効化 ===== <code> server { server_name example.com; listen 80; listen [::]:80; # テストとして普通に表示させる場合 location / { root /var/www/html; index index.html index.htm; } # 全てのリクエストをSSLサイトにリダイレクト #location / { # return 301 https://$host$request_uri; #} # 例外的に証明書更新時のlet's encryptからのリクエストは80番で受ける(443に飛ばしても実は問題ない) location /.well-known/acme-challenge/ { root /var/www/html; } } server { server_name example.com; listen 443 ssl http2; listen [::]:443 ssl http2; 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:10m; ssl_session_tickets off; ssl_protocols TLSv1.3 TLSv1.2; ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256'; ssl_prefer_server_ciphers off; add_header Strict-Transport-Security "max-age=2592000" always; root /var/www/html; } </code> {{tag>Docker SSL}}
06_virtualization/05_container/10_docker_let_s_encrypt.txt
· 最終更新: 2024/08/30 21:43 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ