0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как настроить перенаправление с http на https в Nginx

Содержание

Настройка SSL в Nginx. Правильный редирект на https

Published by Roman Matovsky on June 9, 2017 June 9, 2017

Корпорация Google уже неоднократно заявляла о том, что будет выше ранжировать сайты, которые работают через защищеное соединение. А начиная с этого года ещё и Firefox всячески пытается предупредить своих пользователей о том, что их данные могут оказаться в опасности если попытаться ввести логин и пароль на сайте без SSL шифрования.

Таким образом, если у вас есть форум или система комментирования, но сайт работает через не защищенное соединение, то пользователи у которых Firefox будут видеть то, что я показал на скриншоте выше. А это отпугивает посетителей. Поэтому сегодня будем решать эту проблему.

Ранее я уже писал статью о том как заставить работать в связке Apache2 и Nginx, где первый выступает в роли бэкэнда, а второй в роли фронтэнда. И если ваш сайт работает именно в такой связке, то я расскажу в сжатой и доступной форме как защитить передаваемый трафик между сервером и клиентом, используя механизм SSL шифрования.

Для начала вам потребуется сам сертификат безопасности. Без него никак не получится перевести сайт на защищенное соединение. Если он у вас уже есть, то далее всё очень просто.

Не забудьте скачать моё приложение на iPhone

И так, открываем конфигурационный файл Nginx, а именно nginx.conf . Для начала сразу добавим конфигурацию для редирект с http на http s . Для этого перед секцией server своего сайта добавляем:

server_name intaiwan.ru www.intaiwan.ru;

rewrite ^(.*) https://$host$1 permanent;

На этом всё. Редирект с http на http s мы настроили. Теперь переходим ниже, в саму секцию server нашего сайта. Там нам необходимо заменить строчку

listen 11.22.33.44:443 ssl;

а ниже добавляем строки:

Таким образом, настройка редиректа с http на http s и защищённого соединения у нас должен выглядеть примерно так:

server_name intaiwan.ru www.intaiwan.ru;

rewrite ^(.*) https://$host$1 permanent;

listen 11.22.33.44:443 ssl;

server_name intaiwan.ru www.intaiwan.ru;

error_page 404 = @fallback;

А теперь нам необходимо внести небольшую запись в настройки Apache в секцию VirtualHost нашего сайта:

SetEnvIf X-Forwarded-Proto https HTTPS=on

Однако необходимо учитывать один важный момент. Вам необходимо будет переписать пути до картинок, стилей и скриптов с http на http s . Иначе страницы будут отображаться с ошибками.

Редирект с HTTP на HTTPS для Linux

Редирект на Linux-хостинге

Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления.

Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.

Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?

Как настроить 301 редирект с HTTP на HTTPS?

Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.

Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess

Настройка редиректа в ISPmanager

Откройте панель управления ISPmanager и перейдите в раздел «WWW-домены». Выберите домен, который должен открываться по HTTPS и нажмите Изменить. Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения.

Готово! Теперь ваш сайт будет работать по протоколу HTTPS.

Настройка редиректа в cPanel и Plesk

Как настроить 301 редирект в htaccess:

Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.

Как открыть файл .htacсess

В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:

Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл .htaccess и кликните по нему левой кнопкой мыши:

Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:

Редирект всех страниц с http:// на https://, в том числе и с http://www на https://

или воспользуйтесь вторым вариантом (если первый вариант не поможет):

если все варианты не помогли и возникает циклическая переадресация, добавьте:

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Читать еще:  Не загружается рабочий стол — что делать?

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

15 примеров CURL в Linux

Топ — 20 полезных команд CentOS

Как сменить mac – адрес в Linux

Grandstream GXP2200

Как настроить редирект с HTTP на HTTPS в Nginx

4 минуты чтения

Nginx — это веб-сервер на базе Linux и прокси-приложение. Nginx — это мощный инструмент для перенаправления и управления веб-трафиком. Его можно легко настроить для перенаправления незашифрованного веб-трафика HTTP на зашифрованный HTTPS-сервер.

Это руководство покажет вам, как перенаправить HTTP на HTTPS с помощью Nginx.

Что нам потребуется

  • Сервер Linux под управлением Nginx
  • Учетная запись пользователя с привилегиями sudo
  • Удаленный вход на веб-сервер (необязательно, требуется только в том случае, если вы не работаете непосредственно с веб-сервером)
  • Доступ к терминалу/командной строке (Ctrl-Alt-T или Ctrl-Alt-F2)

Редирект с HTTP на HTTPS

Для принудительного перенаправления HTTP на HTTPS вам необходимо отредактировать файл конфигурации Nginx.

В большинстве случаев вы можете найти этот файл в каталоге /etc/nginx/sites-available . Если не найдено, найдите его здесь: /etc/nginx/nginx.conf , /usr/local/nginx/conf или /usr/local/etc/nginx .

Найдя файл конфигурации Nginx, откройте его в текстовом редакторе с помощью команды:

Замените местоположение фактическим местоположением и именем вашего файла конфигурации.

Когда файл конфигурации будет открыт для редактирования, вставьте один из блоков кода ниже. Как только вы закончите редактирование, сохраните файл и выйдите. Затем перезапустите службу Nginx с помощью следующей команды:

Перенаправить весь HTTP-трафик на HTTPS

Откройте файл конфигурации Nginx для редактирования, затем вставьте следующий код:

Вот разбивка команд:

  • Listen 80 : Это дает команду системе перехватывать весь HTTP-трафик через порт 80
  • Server_name _ ; : Это будет соответствовать любому имени хоста
  • Return 301 : Это говорит браузеру и поисковым системам, что это постоянное перенаправление
  • https://$host$request_uri : Это короткий код для указания версии HTTPS того, что набрал пользователь

После редактирования весь трафик сервера HTTP по умолчанию перенаправляется на HTTPS.

Примечание: Это должен быть единственный блок сервера, прослушивающий порт 80. Блок сервера — это единица кода конфигурации в Nginx. Он помечен именем и фигурными скобками.

Перенаправить определенный сайт

У вас может быть несколько серверов, но только некоторые из них могут требовать HTTPS. Укажите имя сервера в блоке сервера для перенаправления выбранного трафика:

Замените имя my_app.com на имя сервера, который вы собираетесь перенаправить. Вы также можете добавить дополнительные сайты, добавив еще один блок сервера. Просто скопируйте код и измените имя сервера.

Принимать только SSL-соединения

Добавьте этот код, чтобы убедиться, что сервер будет принимать только SSL-соединения через порт 443:

Этот блок кода настроит два веб-сайта, my_app.com и my_website.com , на прием только SSL-соединений. Вы можете добавить дополнительные сайты, используя дополнительные блоки серверов.

Редирект страниц

Вы можете использовать rewrite для быстрого управления 301 (постоянным) или 302 (временным) перенаправлением:

В большинстве случаев это будет index.html , но вы можете указать любой путь или шаблон.

Обратите внимание, что команда rewrite должна использоваться только с перенаправлениями 301 или 302.

Как перенаправить домен с помощью Nginx

Это полезно, если вы сменили домен (например с .org на .com ). Nginx также можно использовать для перенаправления со старого доменного имени на новое доменное имя.

В большинстве случаев команда return предпочтительнее команды rewrite .

Редирект с сайта www на сайт без www

Этот процесс аналогичен стандартному перенаправлению страницы:

Причины для перенаправления трафика

Есть несколько причин для перенаправления HTTP-трафика на HTTPS:

  • Принудительное установление более безопасного зашифрованного соединения.
  • Сохранение страницы с хорошим SEO-рейтингом, но перенаправление своего трафика на новую страницу.
  • Уведомлять и временно отправлять трафик на страницу «на обслуживании».
  • Постоянно отправлять трафик с одного сайта на другой, например после корпоративного слияния.

Заключение

Теперь вы знаете, как перенаправить HTTP на HTTPS в Nginx. Редактируя файл конфигурации, вы можете отправлять трафик из определенного места назначения на другой сайт и принудительно использовать сертификаты SSL. Это поможет вам безопасно управлять изменениями на вашем сайте, не нарушая пользовательский опыт.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

😪 Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

😍 Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Примеры настройки перенаправлений на NGINX

Где настраивать редирект в Nginx

Если в случае с серверами Apache2 для переадресации следует отредактировать файл .htaccess, в Nginx таковой отсутствует. Тем не менее, редирект можно настроить, отредактировав файлы конфигурации виртуальных доменов.

Эти файлы с параметрами, которые идентичны, вне зависимости от используемого дистрибутива Linux. Тем не менее, их расположение может отличаться:

  • в дистрибутивах, основанных на RPM (CentOS, Red Hat) — /etc/nginx/conf.d/.
  • в дистрибутивах, основанных на Debian (Ubuntu, Debian) — /etc/nginx/sites-enabled/.

Как применить настройки редиректа

Чтобы применить редиректы на веб-сервере Nginx, необходимо выполнить последовательно два действия:

  1. Добавить соответствующую команду в виртуальный хост выбранного домена.
  2. Перезагрузить сервер.

Настройка редиректа

Ниже разберем два основных способа настройки редиректов для выбранных веб-страниц. Так как общепринятого мнения, какой из них является оптимальным, в практике не сложилось, в последующих примерах будут использоваться оба.

Способ №1

Первый представляет собой строку:

Здесь переменная $host является хостом из запросов. Если он отсутствует, следует воспользоваться именем заголовка в поле «Host», если и его нет — подойдет имя сервера.

Переменная $request_uri — это первоначальный запрос с аргументами.

При настройке можно выбрать следующие флаги ( ):

  • permanent — 301 редирект (или постоянный редирект) на страницу с кодом ответа сервера 301.
  • redirect — 302 редирект (или временный редирект) на страницу с кодом 302.
  • last — завершение обработки и последующий переходом в новый location.
  • break — завершение обработки и работа в текущем location.

Способ №2

Здесь можно использовать любой код редиректа, однако самые распространенные случаи — 301 , 302 , 404 .

По завершении редактирования файлов остается проверить, правильны ли они:

Чтобы их применить, необходима перезагрузка Nginx:

Первая команда используется в новых версиях Linux. Вторая — для устаревших версий и FreeBSD.

Практическое использование редиректов

Редирект с www на без www

Это наиболее распространенное перенаправление, которое позволяет направить весь трафик непосредственно на домен, минуя поддомены. Код редиректа:

Если необходимо получить противоположный эффект (перенаправление на «www» c «без www»):

Редирект на другой домен

Чтобы организовать перенаправление на другой сайт — например, после изменения адреса сайта — можно воспользоваться командой:

Второй вариант проще:

Редирект с http на https

Установить перенаправление с http на https (защищенный протокол SSL ) можно следующим образом:

Здесь при всех обращениях domain.ru по протоколу http сработает перенаправление на 443-порт с использованием 301 редиректа для склейки доменов.

Чтобы установить редирект на http с https , достаточно изменить код ответа сервера:

Читать еще:  Как передавать файлы (фото, видео, контакты и др.) с телефона на телефон (даже если у них нет SIM-карты и интернета)

Редирект на другой сервер

При необходимости использовать перенаправление на другой сервер всех запросов:

Здесь за прием запросов браузера и ответ на них отвечает веб-сервер Nginx. Их обработка выполняется сервером с IP-адресом 192.168.0.12 (порт 8080 ). Таким же образом осуществляется и перенаправление на другой Nginx.

Редирект с IP адреса на домен

Перенаправление домена без www на домен с www

В противном случае (редирект с www на без www) нужно использовать такое сочитание:

Перенаправление одного URL

Перенаправление на index.php

Сделать так, чтобы запросы из браузера обрабатывались через index.php можно таким образом:

Если же файл расположен в корневом каталоге, перенаправление на index.php указывается командой:

Перенаправление “после слэша” (/)

Следующий блок позволяет установить перенаправление «после слэша» для домена:

Это приведет к тому, что после ввода адреса http://domain.com/mail пользователь будет перенаправлен на https://mail-server.com/mail-panel.

Стоит добавить в приведенный пример знак « = », чтобы перенаправление относилось только к этому элементу (почта), а не ко всему, что начинается с «mail»:

Перенаправление с изменением типа файла

Еще один вариант будет полезным, когда ссылку на файл HTML нужно автоматически заменить ссылкой на файл PHP:

Несколько доменов, один каталог и один основной домен

Этот прием пригодится при наличии нескольких доменов. Для примера возьмем следующие домены:

Все эти домены указывают на один и тот же каталог на сервере. Соответственно, они отображают одну и ту же страницу/контент, хотя и при вводе разных адресов.

Не стоит забывать об исключении ошибки 404 («страница не найдена»), которая может возникнуть, если кто-то воспользуется ссылкой на товар/страницу с одного из альтернативных доменов. Решить эту задачу можно следующим способом:

Таким образом, все альтернативные адреса, отличные от «.ru», будут направлены на «new-address.ru», который является основным адресом.

Техническое обслуживание сайта

Следующий сценарий подойдет для сайта, который находится на техническом обслуживании. То есть в случае необходимости внесения изменений на сайте. При этом перенаправление будет работать в случае обращения к определенному IP-адресу.

Задача заключается в перенаправлении оставшихся посетителей на страницу, которая будет содержать информацию, подобную «На сайте ведутся технические работы…». Это можно осуществить следующим способом:

Вместо подстановочных значений «123.123.123.123» в примере следует вписать IP-адрес своего сервера.

Дополнительные настройки

Свой IP-адрес нужно исключить с редиректа, чтобы сохранить полный доступ к сайту:

Вместо 123.123.123.123 следует указать IP адрес своего сервера.

Благодаря примеру ниже можно обнаружить, существует ли такой файл (technical-break.html) на сервере:

Если да, перенаправление сработает, в противном случае сайт открывается в обычном режиме.

Работа над новой версией сайта с перенаправлением на старую

  • Задача: начать работу над модернизацией действующего веб-сайта, оставить при этом посетителям доступ к его старой версии.
  • Решение: старую версию сайта можно поместить в каталог «old», а в главной директории работать над созданием новой версии.

Перенаправить пользователей на старую версию:

Вместо «123.123.123.123» необходимо подставить IP адрес своего сервера (или адреса).

В случае, если возникает циклическое перенаправление на странице, следует добавить:

Перенаправление в зависимости от IP-адреса посетителя

Приведённый ниже способ предпочтителен с точки зрения SEO-оптимизации, так как при выполнении сценария в ссылках ничего не меняется:

При посещении сайта, сервер предоставляет владельца или администратору ресурса ( MY_IP ) файлы из каталога new-version («новая-версия»). Когда страница посещается «сторонним лицом», сервер открывает старую версию сайта.

Перенаправление в зависимости от IP-адреса посетителя и браузера

Ситуация становится немного сложнее, когда нужно нужно организовать подключение с использованием сразу двух условий:

  1. указанного IP;
  2. строго определённого браузера.

К сожалению, Nginx не поддерживает правила объединения, поэтому здесь следует применить небольшой трюк:

Здесь используется дополнительная переменная $TEST . С первым условием (действительным IP-адресом) она получает значение « okA », а со вторым (браузер Firefox) — дополнительное значение « okB ».

В результате, значением должно быть « okAokB ». И только когда оба условия выполняются одновременно ( $ TEST соответствует « okAokB »), открывается доступ в соответствующий (рабочий) каталог (public_html).

Редирект в зависимости от файлов cookie

В то время как на рабочем месте часто используется статический IP-адрес, бывает, что работу над сайтом нужно проводить удалённо, с другого IP-адреса.

Хотя в таких ситуациях может помочь подключение через VPN, это не всегда возможно. Здесь применяется еще одно условие – проверка cookie:

Если в браузере будет сохранен cookie с контентом «text», то файлы нового сайта будут открываться без редиректа.

Очевидно, понадобится механизм для сохранения соответствующего куки в браузере. Здесь достаточно применить директиву PHP:

Она сохраняется на сервере (например, в файле cookie.php). Он добавляется в каталог со старой (для создания cookie) и новой страницей (обновления cookie до его истечения). Данный код выполняет следующую инструкцию:

  1. Осуществляется переход по адресу [domain] /cookie.php.
  2. Выполняется стандартный переход на сайт.
  3. Вместо старого сайта открывается новый.

В приведенном выше примере cookie действителен в течение 5 минут (300 секунд), после чего — если он не будет создан снова — вместо новой страницы снова будет отображаться старая страница. Когда новая страница готова, достаточно удалить эти несколько строк.

Nginx и CloudFlare

В случае использования CloudFlare существует высокая вероятность того, что редирект не будет работать правильно для выбранного IP-адреса, то есть сервис не будет его распознавать.

В этом случае в файле конфигурации виртуального хоста следует добавить:

Адреса в примере взяты из текущего списка адресов, используемых CloudFlare, размещенного на официальной странице https://www.cloudflare.com/ips/. Это список актуален на момент публикации, но может со временем меняться

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Редирект с http на https Nginx

Как и большая часть сайтов интернета, которые следуют современным тенденциям losst.ru использует безопасный протокол связи https. Многим сайтам при переходе на https необходимо, чтобы весь трафик, который приходит на порт http автоматически перенаправлялся на https.

Это необходимо из соображений SEO оптимизации, а также безопасности пользователей, чтобы никто не мог разорвать защищенное соединение. В этой статье мы рассмотрим как настроить редирект с http на https Nginx.

Редирект с http на https Nginx

Я предполагаю, что вы будете использовать постоянное перенаправление с кодом статуса 301. Это означает перемещение на постоянной основе. Такой метод используется чтобы сообщить поисковым системам или браузеру, что текущая ссылка была обновлена, и ее стоит обновить в своей базе, например, закладок браузера.

В конфигурационном файле Nginx должно быть две секции server, для сайта на https и сайта http. В секции http вы просто перенаправляете все запросы на https c помощью инструкции return, а во второй секции уже все обрабатываете. Например, первая секция:

server <
server_name losst.ru www.losst.ru;
charset off;
index index.php;
ssi on;
return 301 https://$host:443$request_uri;
set $root_path /var/www/losst/data/www/losst.ru;
root $root_path;
listen :80 default_server;
.
>

Вторая секция уже с обработкой SSL слушает запросы на 443 порту:

server <
server_name losst.ru www.losst.ru;
ssl on;
ssl_certificate «/var/www/losst/losst.ru_le2.crtca»;
ssl_certificate_key «/var/www/losst/losst.ru_le2.key»;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security «max-age=31536000;»;
charset off;
index index.php;
set $root_path /var/www/losst/data/www/losst.ru;
root $root_path;
listen :443 default_server;
.
>

Читать еще:  Как на ноутбуке с Windows 10 использовать функцию «Передать на устройство» и функцию дублировать экран ноутбука на телевизор LG по Wi-Fi"

Собственно, синтаксис тут очень прост, инструкция return позволяет возвращать необходимые коды ответа сервера. Здесь же мы возвращаем код 301, постоянный редирект, а также URL, на который собираемся перенаправить пользователя. Кроме директивы return, можно использовать инструкцию rewrite, с помощью нее выполняются точно те же действия:

rewrite ^/(.*)$ https://losst.com/$1 permanent;

Это обычный синтаксис регулярных выражений. В первом аргументе мы выделяем группу строки запроса, а во второй указываем правильный домен. Ее можно добавить вместо return 301. Также можно использовать такую конструкцию без отдельного блока server:

* ^(losst.ru|www.losst.ru)$ ) <
rewrite ^/(.*)$ https://losst.ru/$1 permanent;
>

Теперь осталось протестировать то, что получилось. Сохраните файл и проверьте конфигурацию nginx:

Затем, если все хорошо, перезапустите Nginx:

sudo systemctl restart nginx

Далее можно проверить какой ответ сервера вы получите с помощью curl:

Или позволим утилите проследовать полный путь по перенаправлению:

curl ILa losst.ru

Выводы

Настроить редирект на https nginx достаточно просто, фактически, все выполняется добавлением одной строки в конфигурационный файл, все остальное — дополнительные параметры. Редирект с https на http nginx будет выполняться так же. Только нужно будет изменить несколько букв в параметрах retrun. Не забывайте проверять правильно ли настроены редиректы с www и на https, это играет очень важную роль для SEO. Надеюсь, эта информация была полезной для вас.

Nginx Redirect: Инструкция по Созданию Редиректов в NGINX

Nginx (произносится как engine-x) — мощный HTTP веб-сервер с открытым исходным кодом. Он может работать как обратный прокси или прокси POP3/IMAP. Это третий по популярности веб-сервер, известный своей высокой производительностью, простотой использования и настройки, стабильностью и минимальным использованием ресурсов. В этом руководстве мы покажем вам, различные способы перенаправления трафика с помощью Nginx.

По данным Datanyze, Nginx — это 32% всего рынка веб-серверов. Он используется на многих известных сайтах, таких как Github, Netflix, CloudFlare, Hulu, Airbnb, WordPress и многих других.

Перенаправления в Nginx

Возможность переадресовать URL-адрес сайта на другой адрес или точку в соответствии с вашими критериями является важной функцией веб-сервера Nginx. Процесс настройки редиректов в Nginx очень простой. Часто пользователи хотят перенаправить страницу с хорошим SEO-рейтингом. Например, при переходе с CMS на другую платформу, ваши URL полностью изменятся. В таком случае, если вы хотите сохранить текущий рейтинг страницы в Google, вы можете перенаправить старый URL на новую страницу.

В этом руководстве мы познакомим вас с двумя видами перенаправлений Nginx: постоянными и временными. Не забудьте установить Nginx (англ) на свой VPS.

Постоянный и Временный Nginx Redirect

Временные перенаправления полезны в том случае, если нам нужно временно изменить местоположение страницы с одного места на другое. Чтобы обозначить временное перенаправление страницы, используется код ответа 302 .

Временные перенаправления сообщают пользователям, что сайт временно не доступен, например, когда он закрыт на обслуживание. Ещё один пример временного редиректа, когда вы связываете страницу с неполной информацией с другим пунктом или главной страницей:

Посетитель–> Страница сайта–> Сайт находится на обслуживании

В свою очередь, постоянное перенаправление Nginx сообщает веб-браузеру, что он должен постоянно связывать старую страницу или домен с новым местоположением или доменом. Для обозначения постоянного перемещения страницы используется код ответа 301 . Такие перенаправления полезны, когда пользователь хочет изменить имя домена и больше не хочет, чтобы браузер обращался к нему.

Например, если вы хотите изменить домен вашего сайта или создать новую страницу, чтобы заменить старую:

Посетитель –> Нажимает на www.devisers.in/home –> Перенаправлен на www.devisers.in/home1

Перенаправления Страниц в Nginx

Обратите внимание, что сначала вы должны получить доступ к вашему VPS через SSH. Если у вас возникли проблемы, ознакомьтесь с нашим руководством по PuTTY.

В Nginx большинство перенаправлений могут быть реализованы с помощью встроенной функции перезаписи. Перезапись является функцией по умолчанию, доступной в чистой установке Nginx. С её помощью можно создать оба вида перенаправлений Nginx – как постоянные, так и временные. Для самого простого редиректа вам понадобится минимум два параметра – старый URL и новый URL.

Перенаправить страницы на временное или постоянное местоположение на веб-сервере Nginx довольно просто. Вставьте следующий код в /etc/ nginx /sites-enabled/default , заменив переменные необходимыми данными:

Если вы хотите перенаправить страницу на другую ссылку навсегда, просто используйте “permanent” (“постоянно”) вместо “redirect” (“перенаправить”) в приведённой выше команде. Между тем, path_patern обычно является /index.html .

Перенаправление домена в Nginx

Для перенаправления одного домена на другой введите в терминале указанную ниже команду:

Здесь мы используем два домена. Тот, который мы хотим перенаправить – www.devisers.in, а новый – www.devisers.com.

Nginx Redirect с HTTP на HTTPS (SSL)

HTTP и HTTPS используют разные порты – HTTP-порт 80 и HTTPS-порт 443. HTTPS означает безопасное соединение, защищённое от MITM-атак, которые могут перехватить ваш сеанс. Обратите внимание, что для того, чтобы этот метод работал, вам нужно настроить SSL. Таким образом, чтобы защитить информацию, которая циркулирует между вами и вашими посетителями, следует перенаправлять все запросы, поступающие с HTTP на HTTPS. Для этого мы можем добавить следующую модификацию в тот же файл:

Теперь весь трафик на дефолтный HTTP-сервер перенаправляется на HTTPS.

Nginx Redirect Определённых Сайтов

Если вы используете различные сайты или приложения и хотите перенаправить только один из них, следуйте инструкциям:

В этом примере мы перенаправляем сайт http://www.devisers.in на https://www.devisers.in.

Переадресация с www на без www

Вы наверняка обращали внимание, что есть сайты, на которые можно попасть, прописав www в начале адреса, так и без этого. Если вы хотите, чтобы посетители могли прийти на ваш сайт просто по домену вашей веб-страницы, тогда вы можете настроить соответствующий редирект. В Nginx есть много способов переадресации с www на без www. Вот один из самых простых:

Важно: это постоянный, или “301 редирект”.

Чтобы увидеть изменения, перезапустите веб-сервер Nginx, используя команду:

Для редиректа с без www на www, просто замените URL сайта в примере выше. Вместо www.devisers.in укажите devisers.in.

Выводы

Nginx – это один из самых мощных и простых в использовании веб-серверов, который позволяет создавать как временные, так и постоянные перенаправления.

Теперь вы знаете, как создать Nginx redirect с HTTP на HTTPS, с www на без www и наоборот. Убедитесь, что вы используете правильные типы перенаправлений, так как неправильные редиректы будут влиять на ваш рейтинг в поиске. С помощью точных переадресаций вы можете поддерживать текущий рейтинг в Интернете, при этом изменяя структуру сайта по мере необходимости.

Надеемся, что это руководство будет вам полезным. Увидимся в следующем!

Автор

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector