基本的な DNS レコードを設定したあと、Terraform でゾーン設定を構成できます。このチュートリアルでは、更新された v5 プロバイダーを使い、TLS 1.3、Automatic HTTPS Rewrites、Strict SSL モード を有効にします。
- チュートリアル 1 と 2 を完了していること
- オリジンサーバー上の有効な SSL 証明書(Strict SSL モードでは Cloudflare Origin CA で生成できます)
新しいブランチを作成し、ゾーン設定を追加します。
git checkout -b step3-zone-settingsmain.tf ファイルに次を追加します。
# Enable TLS 1.3
resource "cloudflare_zone_setting" "tls_1_3" {
zone_id = var.zone_id
setting_id = "tls_1_3"
value = "on"
}
# Enable automatic HTTPS rewrites
resource "cloudflare_zone_setting" "automatic_https_rewrites" {
zone_id = var.zone_id
setting_id = "automatic_https_rewrites"
value = "on"
}
# Set SSL mode to strict
resource "cloudflare_zone_setting" "ssl" {
zone_id = var.zone_id
setting_id = "ssl"
value = "strict"
}提案された変更を確認します。
terraform plan想定される出力
Plan: 3 to add, 0 to change, 0 to destroy.
Terraform will perform the following actions:
# cloudflare_zone_setting.automatic_https_rewrites will be created
+ resource "cloudflare_zone_setting" "automatic_https_rewrites" {
+ setting_id = "automatic_https_rewrites"
+ value = "on"
+ zone_id = "your-zone-id"
}
# cloudflare_zone_setting.ssl will be created
+ resource "cloudflare_zone_setting" "ssl" {
+ setting_id = "ssl"
+ value = "strict"
+ zone_id = "your-zone-id"
}
# cloudflare_zone_setting.tls_1_3 will be created
+ resource "cloudflare_zone_setting" "tls_1_3" {
+ setting_id = "tls_1_3"
+ value = "on"
+ zone_id = "your-zone-id"
}変更をコミットしてマージします。
git add main.tf
git commit -m "Step 3 - Enable TLS 1.3, automatic HTTPS rewrites, and strict SSL"
git checkout main
git merge step3-zone-settings
git push変更を適用する前に、TLS 1.3 で接続を試します。デフォルト設定では、技術的には接続できません。このテストに沿って進めるには、curl を BoringSSL 向けにコンパイル ↗ する必要があります。
curl -v --tlsv1.3 https://www.example.com 2>&1 | grep "SSL connection\|error"上記のとおり、ゾーンで TLS 1.3 がまだ有効でないため、エラーになります。terraform apply を実行して有効にし、もう一度試します。
設定を適用します。
terraform apply確認が表示されたら yes を入力します。
先ほどと同じコマンドを実行します。今度は成功します。
curl -v --tlsv1.3 https://www.example.com 2>&1 | grep "SSL connection\|error"