Усі сучасні CMS вміють самі правильно визначати доступність протоколу HTTPS та перемикати сайт на його роботу. Тому, перш ніж вносити зміни до конфігурації веб-сервера, перегляньте в налаштуваннях вашої CMS відповідні розділи. Одночасне увімкнення редиректів через налаштування CMS та конфігурацію веб-сервера може порушити роботу вашого сайту.
Веб-сервер IIS 7 (і вище)
Додайте до файлу Web.config в секцію <system.webServer> наступний код для безумовної переадресації на https версію сайту
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<conditions>
<add input="{HTTP_X_Forwarded_Proto}" negate="true" pattern="^https$" ignoreCase="true" />
</conditions>
<match url="(.*)" />
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
Якщо необхідний редирект з кодом 302, то використовуйте наступний код:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<conditions>
<add input="{HTTP_X_Forwarded_Proto}" negate="true" pattern="^https$" ignoreCase="true" />
</conditions>
<match url="(.*)" />
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
Веб-сервер Apache
Додайте на початок файлу .htacces, який розміщено в корені сайту, наступний код:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Безкоштовні сертифікати Let's Encrypt
Для керування режимами роботи сайту по HTTPS, можна також використовувати розділ особистого кабінету:
Повний перелік функцій ⟹ Параметри роботи безкоштовного SSL
Інші технології
При роботі сайту за протоколом HTTPS, веб-сервер формує наступні HTTP заголовки та їх значення:
X-Forwarded-Proto: https
X-Forwarded-Port: 443
HTTPS: on
X-Forwarded-Proto - рекомендований до використання
Аналізуючи їх у своємо застосунку, ви можете самостійно задавати логіку роботи сайту, визначаючи необхідність редиректів.
Перегляньте також
Підтримка SSL/HTTPS, безкоштовно для всіх сайтів! - Стаття про використання безкоштовних сертифікатів Let's Encrypt на 1GB Хостинг.