Saya mengelola sebuah situs web kecil di lingkungan LAMP hosting bersama: ini pada dasarnya berarti satu-satunya hal yang dapat saya edit adalah file htaccess.
Saya ingin menambahkan dukungan HSTS (dan saya melakukannya), tetapi, ketika saya menguji situs web saya di sini untuk kelayakan preload HSTS, saya mendapatkan kesalahan berikut:
Kesalahan: HTTP mengalihkan ke www terlebih dahulu
http://example
(HTTP) harus segera dialihkan kehttps://example
(HTTPS) sebelum menambahkan subdomain www. Saat ini, pengalihan pertama adalah Pengalihanhttps://www.example.
tambahan diperlukan untuk memastikan bahwa setiap browser yang mendukung HSTS akan merekam entri HSTS untuk domain tingkat atas, bukan hanya subdomain.
Jadi, saya kira saya harus mengarahkan pengguna dengan cara ini:
http://example
(ini yang dimasukkan pengguna di bilah alamat browsernya)https://example
(kami mengarahkannya ke versi situs web HTTPS)https://www.example
(kami mengarahkannya lagi ke subdomain www)
Arahan ulang saya saat ini dilakukan dengan cara ini:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Saya mencoba menambahkan arahan ulang sebelum baris terakhir, dengan cara ini:
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
tapi saya mendapat kesalahan "halaman tidak mengarahkan ulang dengan benar" dari browser.
Jadi, apa cara yang tepat untuk mengarahkan pengguna dari versi http situs web ke https dan akhirnya ke https dengan www? Dan: apakah ada risiko?
sumber
Strict-Transport-Security
header respons. Misalnya, untuk mengatur ini di redirect Anda harus menggunakanalways
argumen padaHeader
directive. Saya menjawab pertanyaan terkait pada tumpukan Webmaster Pro (lewati bagian pertama dari jawaban saya tentangon
/off
) yang membahas lebih detail tentang penerapan " preload HSTS " di.htaccess
..htaccess
pertanyaan yang hanya terkait (ServerFault mengasumsikan Anda memiliki kontrol penuh dari server, dalam hal ini Anda tidak akan melakukan ini di.htaccess
). Ini bisa dibilang lebih mudah untuk menerapkan ini dalam konfigurasi server menggunakan<VirtualHost>
wadah terpisah (karena Anda tidak perlu mengacaukan dengan env vars dan kondisi tambahan - ini "lebih bersih" dan kurang rentan terhadap kesalahan). Saya rasa saya tidak akan merekomendasikan pengiriman "preload list" jika Anda hanya memiliki akses ke.htaccess
. (My 2c)