Как и большая часть сайтов интернета, которые следуют современным тенденциям losst.pro использует безопасный протокол связи https. Многим сайтам при переходе на https необходимо, чтобы весь трафик, который приходит на порт http автоматически перенаправлялся на https.
Это необходимо из соображений SEO оптимизации, а также безопасности пользователей, чтобы никто не мог разорвать защищенное соединение. В этой статье мы рассмотрим как настроить редирект с http на https Nginx.
Редирект с http на https Nginx
Я предполагаю, что вы будете использовать постоянное перенаправление с кодом статуса 301. Это означает перемещение на постоянной основе. Такой метод используется чтобы сообщить поисковым системам или браузеру, что текущая ссылка была обновлена, и ее стоит обновить в своей базе, например, закладок браузера.
В конфигурационном файле Nginx должно быть две секции server, для сайта на https и сайта http. В секции http вы просто перенаправляете все запросы на https c помощью инструкции return, а во второй секции уже все обрабатываете. Например, первая секция:
Вторая секция уже с обработкой SSL слушает запросы на 443 порту:
Собственно, синтаксис тут очень прост, инструкция return позволяет возвращать необходимые коды ответа сервера. Здесь же мы возвращаем код 301, постоянный редирект, а также URL, на который собираемся перенаправить пользователя. Кроме директивы return, можно использовать инструкцию rewrite, с помощью нее выполняются точно те же действия:
Это обычный синтаксис регулярных выражений. В первом аргументе мы выделяем группу строки запроса, а во второй указываем правильный домен. Ее можно добавить вместо return 301. Также можно использовать такую конструкцию без отдельного блока server:
Теперь осталось протестировать то, что получилось. Сохраните файл и проверьте конфигурацию nginx:
sudo nginx -t
Затем, если все хорошо, перезапустите Nginx:
sudo systemctl restart nginx
Далее можно проверить какой ответ сервера вы получите с помощью curl:
curl -I losst.pro
Или позволим утилите проследовать полный путь по перенаправлению:
curl ILa losst.pro
Выводы
Настроить редирект на https nginx достаточно просто, фактически, все выполняется добавлением одной строки в конфигурационный файл, все остальное - дополнительные параметры. Редирект с https на http nginx будет выполняться так же. Только нужно будет изменить несколько букв в параметрах retrun. Не забывайте проверять правильно ли настроены редиректы с www и на https, это играет очень важную роль для SEO. Надеюсь, эта информация была полезной для вас.
Вы это серьезно? Редирект в rewriterule в Nginx??? Ужасно.
Это простой а главное короткий php код, который я использую у себя на сайте https://linuxforuser.ru/. Он в любом случае перенаправляет на протокол https://
"В конфигурационном файле Nginx должно быть две секции server" - где находиться и как называется этот файл?
Главный файл - /etc/nginx/nginx.conf - https://losst.pro/nastrojka-nginx А дальше уже зависит от структуры конфигурации, может находиться в /etc/nginx/conf.d/* или /etc/nginx/sites-available/, надо смотреть что и куда импортировано в главном конфигурационном файле.