Отдельный server на :80 с return 301 https://$host$request_uri; (или rewrite) отправляет клиентов на TLS-порт.
Разбор
- 301 — постоянный редирект; 302 — временный.
- Сохраняйте
$request_uri, чтобы не терять path/query.
- HSTS (
Strict-Transport-Security) усиливает политику после первого HTTPS.
- Проверьте, что ACME/http-01 challenge не ломается слепым редиректом.
Пример
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
Итог
HTTP→HTTPS редирект — базовый hygiene для публичных сайтов.