letsencrypt
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| letsencrypt [2016/09/27 14:39] – nullpon | letsencrypt [2017/07/19 03:15] (現在) – nullpon | ||
|---|---|---|---|
| 行 20: | 行 20: | ||
| </ | </ | ||
| ===== 証明書の発行 ===== | ===== 証明書の発行 ===== | ||
| + | |||
| + | ここでは example.com と www.example.com の2つのドメインに対する証明書を発行するものとして記述する。 | ||
| 証明書を発行するために、このサーバの管理者がドメインの所持者であることを確認する必要がある。let' | 証明書を発行するために、このサーバの管理者がドメインの所持者であることを確認する必要がある。let' | ||
| - | まずnginxをインストールして起動する。 | + | まずnginxをインストールして、ドメイン所持確認用の設定を追加し、nginxを起動する。 |
| - | + | ||
| - | example.com と www.example.com の証明書を発行する。-wはnginxのドキュメントルートを指定する。ここにドメイン確認のためのファイルが作成される。-dはドメインで複数設定可能。サブジェクト代替名(SAN/ | + | |
| - | + | ||
| - | + | ||
| - | < | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | nginxには予めドメイン確認のためにアクセスされるlocationの設定をしておく。 | + | |
| < | < | ||
| 行 59: | 行 52: | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | 次に証明書を発行する。-wはnginxのドキュメントルートを指定する。ここにドメイン確認のためのファイルが作成される。-dはドメインで複数設定可能。サブジェクト代替名(SAN/ | ||
| + | |||
| + | < | ||
| + | sudo -H / | ||
| </ | </ | ||
| 行 70: | 行 69: | ||
| ===== httpsの設定 ===== | ===== httpsの設定 ===== | ||
| - | nginxにsslの設定を行う。 | + | nginxにsslの設定を行う。以下の設定ではhttp2も有効になる(http2はnginx 1.9.5以降で有効)。 |
| < | < | ||
| 行 125: | 行 124: | ||
| < | < | ||
| - | / | + | sudo -H / |
| + | sudo service nginx reload | ||
| </ | </ | ||
| 行 159: | 行 159: | ||
| としてからcertbot-autoを実行する。 | としてからcertbot-autoを実行する。 | ||
| + | |||
| + | ===== セキュリティの強化 ===== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | ==== Strict Transport Security (HSTS) の設定 ==== | ||
| + | |||
| + | あるドメインへhttpsでアクセスした場合、以降そのドメインへの接続にはハイパーリンクなどでhttpが指定されていてもhttpsを使うようにブラウザに指示するHTTPヘッダ | ||
| + | |||
| + | < | ||
| + | server { | ||
| + | | ||
| + | add_header Strict-Transport-Security " | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | * max-age - 有効期間(秒、31536000は1年間)を指定するヘッダオプション、この期間ブラウザはhttpsを使うよう記憶する。 | ||
| + | * includeSubDomains - サブドメインもhttpsを使うようにブラウザに指示するヘッダオプション。 | ||
| + | * always - nginxのすべてのレスポンス(内部的に生成されたエラーレスポンスなどの場合も)ヘッダを付加するようにnginxに指示する。 | ||
| + | |||
| + | ==== プロトコルと暗号化スイートの指定 ==== | ||
| + | |||
| + | 最早セキュアではないプロトコルと暗号化スイートを除外する。設定によっては古いブラウザやデバイスではアクセス不能になる。 | ||
| + | |||
| + | セキュアな設定は年々変化するので、これをコピーして使わないこと。 | ||
| + | |||
| + | < | ||
| + | server { | ||
| + | ssl_protocols TLSv1.2; | ||
| + | ssl_ciphers ' | ||
| + | ssl_prefer_server_ciphers on; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | * ssl_protocols 通信プロトコル | ||
| + | * ssl_ciphers 使用可能な暗号スイート | ||
| + | * ssl_prefer_server_ciphers onにすると暗号スイートの選択はサーバ側の指定に従い、クライアントの指定は無視される | ||
| + | |||
| + | https:// | ||
letsencrypt.1474987143.txt.gz · 最終更新: by nullpon