HSTS menyuruh peramban menolak http biasa untuk domain Anda selama jangka yang ditetapkan. Ia menutup sebuah serangan yang nyata — permintaan pertama, sebelum pengalihan — dan peramban mengingatnya; justru itulah sebabnya ia harus diperkenalkan dengan hati-hati.

Tajuknya

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Apa yang membuatnya berbahaya

Ia diingat, dan tak bisa ditarik kembali. Kirimkan max-age=31536000, maka setiap peramban yang melihatnya akan menolak http selama setahun. Kalau sesudah itu sertifikat Anda kedaluwarsa atau ada subdomain yang tak punya sertifikat, pengunjung mendapat peringatan yang tak bisa mereka lewati dengan klik — dan menghapus tajuknya tak berguna, sebab perintahnya sudah ada di peramban mereka.

Perkenalkan ia bertahap

# week 1 - five minutes
add_header Strict-Transport-Security "max-age=300" always;

# week 2 - a day
add_header Strict-Transport-Security "max-age=86400" always;

# week 3 - a week, then a year once nothing has broken
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

includeSubDomains adalah bagian yang menjerat orang

Ia berlaku untuk setiap subdomain, termasuk yang Anda lupakan: situs uji coba lama, sebuah perkakas internal, sebuah server warisan tanpa sertifikat. Semuanya menjadi tak terjangkau lewat http, sekaligus. Pastikan setiap subdomain punya sertifikat yang sah sebelum Anda menambahkannya.

for h in www shop staging api mail; do
  printf '%-8s ' "$h"
  curl -sS -o /dev/null -w '%{http_code}\
' "https://$h.example.com/" || echo FAIL
done

Pramuat itu, dalam praktiknya, permanen

Daftar pramuat dikompilasi ke dalam peramban, jadi aturannya berlaku bahkan sebelum ada kunjungan. Penghapusan perlu berbulan-bulan untuk sampai ke semua orang. Jangan tambahkan token preload sebelum situsnya berjalan setahun penuh pada max-age penuh tanpa insiden.

Kalau Anda sudah terkunci di luar

Perbaiki sertifikatnya — hanya itu jawaban yang sebenarnya. Untuk mesin Anda sendiri, Chrome bisa membersihkan satu domain di chrome://net-internals/#hsts; itu memungkinkan Anda menguji, tetapi tak berbuat apa-apa bagi pengunjung Anda.

HSTS layak dimiliki. Yang membuatnya aman adalah pembaruan otomatis — lihat Pembaruan yang gagal diam-diam.