Для примера используем дистрибутив Centos и установленную панель управления сервером Vesta. Сайт работает на Wordpres.
Зачем нужно переходить на https?
Безопасность
Считается, что протокол https более защищенный и безопасный. Он лучше, чем http, потому что использует шифрование данных между клиентом и сервером.
Лучший рейтинг для поисковых систем
Поисковые системы, такие как Google и Yandex, при оценке качества вашего сайта в скором времени будут учитывать и протокол, по которому он работает. Если вы будете использовать защищенное соединение, вы получите еще один плюс к вашей положительной репутации. А в дальнейшем возможно полное игнорирование незащищенных сайтов поисковиками.
С чего начать?
В панели управления Vesta подключаем протокол https и создаем сертификат.
Заходим в редактирование домена, ставим галочку поддержка SSL и выбираем директорию нового сайта shtml.
Для использования валидного платного или бесплатного сертификата:
Для того, чтобы вставить сгенерированный сертификат с помощью платного или бесплатного сервиса, нужно скопировать сгенерированные сертификаты в поля:
Для самостоятельного создания сертификата (браузеры его не будут принимать):
Генерируем ключ и сертификат, нажав «Сгенерировать CSR запрос». Вставляем полученные ключи (SSL сертификат и ключ SSL сертификата) в предыдущее окно. Поле «Центр сертификации SSL / Intermediate «оставляем пустым.
Теперь сертификат установлен и ваш сайт может работать по протоколу HTTPS.
Настройка SSL сертификата в веб-панели Vesta
Создаем копию сайта, чтобы не мешать работать старой версии, пока мы настраиваем новую.
Делаем копию базы и сайта; создаем новую базу, импортировав туда данные со старой базы. Затем копируем сайт в директорию public_shtml.
Заходим в новую базу через phpmyadmin. Во вкладке SQL с помощью трех запросов к базе меняем пути на сайте с http на https. (только для wordpress)
UPDATE wp_options SET option_value = replace(option_value, ‘http://domain.com’, ‘https://domain.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET guid = replace(guid, ‘http://domain.com’,’https://domain.com’);
UPDATE wp_posts SET post_content = replace(post_content, ‘http://domain.com’, ‘https://domain.com’);
Нажимаем кнопку вперед и видим успешное выполнение запросов. Закрываем Phpmyadmin.
В корневом каталоге нового сайта, в настройках wp-config.php, не забываем указать новое название базы и пароль к ней.
Далее заходим на наш сайт по ссылке https://domain.com
Проверяем сайт и убеждаемся, что по новому адресу все работает отлично (ссылки, фото должны открываться).
Переадресация в nginx вашего сайта с http на https
Поскольку сейчас доступно два сайта по http и https, мы сделаем переадресацию.
Заходим на сервер через SSH и открываем файл /home/имя вашего сервера/conf/web/nginx.conf, под строкой server_name вписываем код, указанный ниже (вместо domain.com указываем ваш сайт)
return 301 https://domain.com$request_uri;
Теперь все запросы к сайту с http будут переадресованы на https.
Для нормальной работы сайта нам нужен проверенный сертификат, чтобы браузеры не пугали пользователей сообщением о небезопасности перехода на ваш сайт. Существуют платные и бесплатные сертификаты.
Вы можете узнать, как получить бесплатный сертификат, ознакомившись с нашей статьей «Как быстро и бесплатно получить SSL сертификат».
Спасибо, у меня ни как не получалось вставить ключи, а оказалось, что нижнее поле можно не заполнять.
htaccess не хотел использовать, мучился с переадресацией в nginx а оказалось все так просто! Спасибо