У мене недостатньо репутації, щоб коментувати попередню відповідь, тому я публікую нову відповідь, щоб доповнити відповідь Джея Тейлора. В основному його відповідь буде робити переспрямування, хоч і неявне перенаправлення, що означає, що він видасть 302 (тимчасове перенаправлення), але оскільки питання інформує, що весь веб-сайт буде обслуговуватися як https, то відповідним переспрямуванням має бути 301 (постійне перенаправлення ).
redirect scheme https code 301 if !{ ssl_fc }
Це здається невеликою зміною, але вплив може бути величезним залежно від веб-сайту, завдяки постійному перенаправленню ми повідомляємо браузеру, що він більше не повинен шукати версію http з самого початку (уникаючи майбутніх переадресацій) - економія часу для https сайтів. Це також допомагає з SEO, але не розділяючи сік ваших посилань.
redirect scheme https code 301 if { hdr(Host) -i www.mydomain.com } !{ ssl_fc }