Как правильно настроить сайт при переходе на https и ssl-сертификат, что бы не потерять позиции в поисковых системах?

Алан-э-Дейл       01.03.2024 г.

Оглавление

Шаг 2: Покупка SSL сертификата

Прежде чем приобретать SSL нам нужно определиться с нашими потребностями.

Типы ssl

Все сертификаты выдаются для 1 домена:

Если у вас много поддоменов и вы хотите их перевести на https — стоит обратить внимание на сертификаты с пометкой Wildcard (количество поддоменов неограниченно)

Активация https для домена

После того, как вы решили какой тип сертификата вам нужен, купили его (свои сертификаты я покупал на gogetssl.com, а для блога решил потестить бесплатный Let’s Encrypt) и не забыли сохранить все ключи, которые вам были даны — самое время привязать все к вашему домену.

После активации домена он должен пройти валидацию:

Валидация домена пройдена

Все, теперь можно переходить к следующему шагу.

Бесплатный SSL от Let’s Encrypt

Let’s Ecnrypt — это некоммерческий центр сертификации

Вы можете без проблем взять их бесплатный сертификат, если вам важно само наличие https

Яндекс и Google (а также браузеры) нормально относятся к нему, т.е. никаких трудностей у вас не будет.


У хостеров бесплатный сертификат подключается за 1 минуту

На многих хостингах можно буквально за минуту подключить бесплатный SSL.

Установка SSL на примере FastVPS

У вас есть ключи и все что вам нужно сделать — это добавить их в панели своего хостинга.


Просто вставить в поля свои ключи от центра сертификации

Как сделать редирект с https на http?

Решение 1

Делаем редирект на http с помощью .htaccess

Замечание Перечисленные ниже варианты предназначены для серверов Linux.

Пояснения для всех последующих вариантов Редактируем или создаём, если его нет, файл .htaccess в корневой папке вашего сайта, и добавляем сразу после один из нижеперечисленных вариантов, при этом не забыв изменить site.ru на URL вашего сайта.

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Попробуем ещё вариант — вместо %{HTTPS} указать %{ENV:HTTPS}

Вариант 11

Вариант 12

Замечание Если не работает, то можно попробовать поместить, указанные выше строки, в выражение IfModule.

ВАЖНОПри открытии сайта, Сначала браузер проводит проверку наличия SSL-сертификата и уже затем срабатывает редирект. Другими словами, если на сайте нет SSL-сертификата, то посетители сначала увидят предупреждение браузера о незащищённом контенте, и уже затем сработает редирект на http …

ЗамечаниеОбычно, при открытии сайта, Сначала браузер, как правило, открывает версию https сайта. Но это не точно. На самом деле, это зависит от настроек сервера и сайта. Если вебсервер отдаёт заголовок «Strict-Transport-Security» ( смотрим в настройках add_header Strict-Transport-Security ), тогда браузер будет открывать сайт по HTTPS протоколу. Дополнительно, этот заголовок появляется, если в настройках web-домена установлено: «Повышенная безопасность SSL»

Если Решение 1 не работает?

  В частности этим грешат серверы и VDS с панелью ISP Manager 5 ( на других панелях управления, например cPanel, с Lunix на этом же сайте переадресация работает! )

Решение 2

Открываем и внимательно смотрим ваш сайт (для примера site.ru )именно по протоколу httpS если он не ваш и отличаются и по внешнему виду и по контенту, то
нужно выяснить его ( URL ). Обычно это один из https сайтов, расположенный на вашем IP адресе. Найти список сайтов на вашем IP можно стандартным сервисом «Сайты на одном IP»

Итак, — хорошо — вы узнали, какой это сайт ( назовём его, для удобства https-sait.ru )

И теперь все дальнейшие правки, как ни странно, будем вести не на проблемном сайте, а на найденном (https-sait.ru)!

Идея: поставить передресацию с https на http на найденном https сайте https-sait.ru

13 Решение: создаем в корне этого сайта в файле htaccess правила типа условное выражение такого вида:

Пробуем, проверяем.

Подводим итог.

Другими словами, для того, чтобы сделать редирект с https на http вашего сайта sait.ru, вам потребуется найти и открыть https-sait.ru, отредактировать там .htaccess файл, прописав правила аналогичные пункту 13 для каждого вашего сайта: sait 1, 2, 3.ru

Вот такие странности панели ISP Manager ….

Решение 3

Замечание Предлагаемое решение работает на серверах с NginX.

Если у вас сервер с nginx, тогда делаем переадресацию в его настройках

Вариант 3.1

Указав, вместо ip — ваш реальный IP, вместо site.ru — URL вашего сайта и вместо # пути к сертификату — реальный путь. Сохраняем и перегружаем сервер

Модифицированный вариант:

Вариант 3.2

находим и удаляем там же строку

Если что то не работает, перезагружаем nginx и смотрим ошибки, которые находятся в

Замечание Если нужно, чтобы сайт открывался как по http, так и по протоколу https, то вышеуказанные варианты приведут к зацикливанию ….

Нужно же, чтобы сайт открывался как по http, так и по https. Если прописывать редирект в nginx на http

Вариант 3.2

Некоторые, устав бороться с NginX, сносят его и ставят классический редирект

Решение 4

Поток запроса HTTPS

На приведенном выше изображении показана схема прохождения запросов / ответов HTTPS. Для простоты мы разбили все действия на три фазы:

  1. На первом этапе клиент и сервер договариваются о деталях шифрования, таких как протокол шифрования и набор шифров. Также происходит обмен информацией, необходимой для переключения на защищенное соединение: открытые ключи, сведения о сертификате и т.д. Эта фаза называется «SSL / TLS рукопожатие»;
  2. На втором этапе клиент готовит HTTP-запрос, шифрует его и отправляет на сервер для обработки. Сервер принимает зашифрованный HTTP-запрос, расшифровывает его, обрабатывает и выдает HTTP response (ответ);
  3. На третьем этапе, сервер шифрует ответ и отправляет его клиенту для обработки. Клиент получает зашифрованный HTTP response, дешифрует и обрабатывает его (например, браузер начинает загружать и отображать элементы).

Эта схема потока редиректа с HTTP на HTTPS применима к любому запросу, независимо от содержимого ответа HTTP.

Выше я написал запрос HTTP и ответ HTTP для определенных целей (обратите внимание, что я использовал HTTP, а не HTTPS)

С точки зрения содержимого и структуры важно понимать, что HTTPS-запрос — это HTTP-запрос, но передаваемый через защищенное соединение (TLS / SSL)

Зачем нужно переводить сайт на https?

Перевод сайтов с http на новый протокол – это не прихоть, а необходимость для большинства владельцев сайтов. Есть несколько весомых причин, по которым следовало сделать это до 2017 года.

Следует понимать, что переход на https позволит избежать мошенничества. Он свидетельствует о соблюдении конфиденциальности, защищая такие данные, как:

  • банковские карты;
  • денежные переводы;
  • пароли;
  • осуществляемые заказы.

К тому же переход позволяет защититься не только от мошенников, но и от государства, провайдеров, которые следят за пользователями в интернете.

Https-протокол является фактором ранжирования сайтов в поисковых системах. Это подтверждают тот факт, что такие крупные поисковые системы, как Яндекс или Google, внесли в свой список этот параметр для ранжирования.

Многочисленные исследования подтверждают, что влияние этого параметра растет и грамотно осуществленный переход на новый протокол положительно влияет на рост сайта в рейтинге поисковых систем.

Еще один важный аргумент – это то, что опытные пользователи больше доверяют сайтам с https, что уже само по себе увеличивает посещаемость веб-ресурса.

Apache

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Чтобы добиться этого в Apache можно, например, организовать перенаправление с помощью mod_rewrite. Для этого сначала необходимо его активировать:

sudo a2enmod rewrite
sudo service apache2 restart

Затем изменить файл /etc/apache2/sites-enabled/000-default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл надо добавить внутрь блока

<VirtualHost *:80>
...
</VirtualHost>

строчки:

RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https//%{HTTP_HOST}%{REQUEST_URI} 

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.
Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу.

Правила 301 редирект от letsencryp (certbot)

How to Redirect from HTTP to HTTPS

Setting up the redirect from HTTP to HTTPS on your website will depend on your site’s host. However, there are some preliminary things you can take care of before you even look at the specifics:

  1. Choose an SSL certificate for your site
  2. Tell Google about your new protocol 
  3. Update your internal links

1. Choose a certificate for your site

To make everything official, you’ll need to get your hands on a Secure Sockets Layer (SSL) certificate. An SSL certificate is a third-party confirmation that your connection and site are legitimate. 

An SSL certificate will include:

  1. The server name
  2. The certificate authority
  3. The server’s public encryption key.

The SSL certificate encrypts the messages between your site and the user. It locks other users out and prevents them from reading or stealing private information such as credit card details or passwords. 

For more info on SSL certificates, check out our guide to migrating a website in an SEO-friendly way.

2. Tell Google about your new protocol

Google considers the HTTP and HTTPS versions of one site to be two different websites, so it’s important that you inform them about your redirect. You’ll want to ensure that sure users are directed to the right version of your site when they try to access it. 

Start by heading over to your Google Search Console account to verify the HTTPS version of your site. 

The transfer could take a few days, but your redirect will be good to go.

 3. Update your internal links

Once the redirect is sorted, it’s time to check that your internal links have HTTPS URLs and continue to work correctly. You can check what needs changing by using a site crawling tool to scan for any dodgy links. We recommend our Site Audit tool.

You’ll likely make the relevant changes with your site host. We’ll show you how to get started with four of the most popular web hosts. 

Scroll through to find your host (if present):

Когда нет доступа к исправлению .htaccess или конфигов NGINX

Бывает и такое. Вот пример из интернета для редиректа с http на https для WordPress. Этот код надо вставить в файл functions.php (редактирование темы):

PHP

## redirect с http на https
add_action( ‘init’, ‘http_to_https_redirect’ );
function http_to_https_redirect() {
if ( is_ssl() ) {
return;
}
if ( 0 === strpos( $_SERVER, ‘http’ ) ) {
wp_redirect( set_url_scheme( $_SERVER, ‘https’ ), 301 );
} else {
wp_redirect( ‘https://’ . $_SERVER . $_SERVER, 301 );
}
exit;
}

1
2
3
4
5
6
7
8
9
10
11
12
13

## redirect с http на https

add_action(‘init’,’http_to_https_redirect’);

functionhttp_to_https_redirect(){

if(is_ssl()){

return;

}

if(===strpos($_SERVER’REQUEST_URI’,’http’)){

wp_redirect(set_url_scheme($_SERVER’REQUEST_URI’,’https’),301);

}else{

wp_redirect(‘https://’.$_SERVER’HTTP_HOST’.$_SERVER’REQUEST_URI’,301);

}

exit;

}

Может вариант не сработать, если сервер на NGINX. От настроек хостера зависит.

Но смысл в том, что при проявлении фантазии, можно и на php сделать редирект.

Включение HSTS

Строгая транспортная безопасность HTTP (HSTS) — это механизм политики веб-безопасности, с помощью которого веб-сервер указывает, что он поддерживает подключения только по протоколу HTTPS. Это позволяет предотвратить атаки типа «злоумышленник в середине» на SSL.

Эта политика передается сервером агенту пользователя в поле заголовка HTTP-ответа «Strict-Transport-Security». Политика задает период, в течение которого у агент пользователя будет доступ к серверу только безопасным способом.

Пропишите в файле .htaccess следующий код:

<IfModule mod_headers.c>
# this domain should only be contacted in HTTPS for the next 12 months
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
</IfModule>

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

Опубликовано в рубрике WordPress, Безопасность

Ответы на несколько вопросов

Напоследок несколько популярных вопросов, которые могут всплыть:

Почему сам тянул с переездом на https?
Я все никак не могу взяться за свои проекты (это видно по дате последних постов и съемки видео на канале), ну и решающим моментом стало оповещение Яндекса о том, что уже пора бы.

Могу ли я потерять посещаемость?
Да. Любые действия с сайтом в теории могут негативно повлиять на трафик. Но чаще проблем не бывает, если нигде не напортачил.

После перехода на https упали позиции, что делать?
Это тоже нормально. От момента переезда я обычно засекаю 3-4 недели (примерно) и не обращаю внимания на колебания. По истечении этого срока уже должна произойти склейка (в вебмастере зеркала будут слеплены вместе) и тогда можно делать какие-то выводы. Чаще всего все восстанавливается и иногда даже с плюсом.

Я хочу ЧПУ и SSL — в какой последовательности делать
Очень скользкий вопрос, сродни «Какой рукой открывать дверь: правой или левой?». Я опасный и потому делаю все сразу за 1 раз :). Проблем вроде не было, но склейка была дольше.

Основные способы настройки редиректов

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

Например:  

header(‘HTTP/1.1 301 Moved Permanently’);  

header(‘Location: http://www.example.com/’); 

Если необходимо перенаправить одну единственную страницу на сайте, одним из решений может быть настройка при помощи HTML путем добавления специального тега в заголовок HTML-документа (Meta Refresh). 

Например,

JavaScript – операция осуществляется непосредственно через браузер и является наиболее медленным способом. Используется, если необходим редирект с задержкой. Минусом является то, что такой редирект не будет работать, если JavaScript отключен в браузере. И не будет учтен Яндексом. 

Например, window.location.href=»https://site.com» 

Настройка 301 редиректа на nginx. Настройки необходимо вносить в файлах конфигураций виртуальных доменов. 

Например, rewrite ^https://$host$request_uri? ; 

где: 

$host – имя хоста из запроса, если отсутствует – имя в поле «Host» заголовка, если тоже отсутствует – имя сервера;  

$request_uri – первоначальный запрос с аргументами (все, что идет после доменного имени). 

могут иметь следующие параметры: 

permanent – перенаправление с кодом 301,

redirect – перенаправить с кодом 302,

last – закончить обработку с переходом в новый location,

break – закончить обработку и остаться в текущем location. 

Для настройки переадресаций на сервере Apache более надежной является настройка серверных редиректов через внесение изменений в файл .htaccess. Разберем этот способ подробнее.   

How to Do an HTTP Redirect in Apache

If you use Apache, making the switch is also pretty easy. 

If you can access the root server, it’s simple to set up a redirect in the Apache Virtual Host domain configuration file. If you can’t, then you can go into your .htaccess file and make the changes there. 

Redirect with Apache Virtual Host

When you use the Virtual Host, you specify your generic site document root and then customize the security policy for the separate sites.

Use a simple redirect directive like this:

In closer detail, all this works out pretty simply: 

  • “VirtualHost *:80” listens for connections on the 80 port (HTTP) for the domain you’ve specified 
  • “VirtualHost *:443” listens for connections on the 443 port (HTTPS) 
  • Replace “ServerName” and “ServerAlias” with your domain name
  • “Redirect permanent / https://example.com/” enables the redirection of traffic to the HTTPS site. 

Restart your server and it will take effect. 

Redirect with .htaccess

If you’re redirecting with .htaccess, you’ll need the mod_rewrite module – but don’t worry, that’s a default on most servers. 

Just open your root .htaccess file and add the following code:

Let’s dive deeper:

  • “RewriteEngine On” enables the rewrite 
  • “RewriteCond %{HTTPS} off” checks for the HTTP connection
  • “RewriteRule ^(.*)$ https://example.com/$1 ” This redirects HTTP to HTTPS with a 301 status code. Just make sure you put your domain name where ‘example’ is! 

The bonus of redirecting with .htaccess is that you don’t need to restart anything for it to take effect. 

HTTPS: что это такое и зачем на него переходить

По умолчанию все сайты начинают свой путь с HTTP-протокола передачи данных в интернете. Он использует технологию «клиент-сервер», работающую следующим образом: клиент инициирует соединение и отправляет запрос серверу, который в свою очередь ожидает соединения для получения запроса, выполняет определенные действия и отправляет обратно сообщение с результатом.

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

На смену HTTP пришел HTTPS — особое расширение протокола, включающее в себя настройки шифрования. Благодаря этому все платежи, покупки, пароли и прочие данные защищены, и добраться до них злоумышленнику практически невозможно. Также этот интернет-протокол позволяет повысить доверие пользователей, разместить рекламные баннеры в Google AdWords, получить приоритетное ранжирование в поисковых системах и многое другое.

Использование HTTPS сопровождается получением специального SSL-сертификата. Сертификаты разделяются на три вида:

Каждый из вышеупомянутых сертификатов обеспечивает шифрование трафика между сайтом и браузером.

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

Закажите надежный сертификат безопасности в Timeweb

От 2000 рублей в год

Заказать сертификат

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Как получить HTTPS бесплатно?

Если Вы пользуетесь хостингом WEBNAMES, достаточно подключить SSL для каждого из доменов в панели управления хостингом.

Это абсолютно БЕСПЛАТНО!

Если у Вас еще нет хостинга webnames.ru, то это отличный повод его заказать с 10% скидкой по промо коду r-ndyxmjcx, чтобы для каждого домена подключить бесплатный SSL сертификат.

02/08/2021

Лучшие предложения

5 сайтов, 5 ГБ

Полезные статьи

Что такое хостинг

Готовый сайт, как и любой другой набор команд, для своей работы должен быть размещен на сервере. Им может быть, как о…
читать далее

Как создать сайт с нуля?

Идея создать сайт приходят многим пользователям сети, а в особенности владельцам бизнесов и предприятий. Но как сдела…
читать далее

Что делать с бесплатным доменом?

Поздравляем! Вы получили бесплатный домен, например, ваш-домен.мир.рус или ваш-домен.я.рус. В сервисе WHOIS можно пос…
читать далее

Изменение внутренних ссылок на сайте

Следующий шаг – изменения внутренних ссылок на веб-страницы. Дело в том, что даже если сайт работает по протоколу https, но есть какие-либо http-ссылки на файлы, документы или внутренние страницы, то браузеры перестают считать сервис безопасным.

Изменить протокол нужно у следующих файлов и страниц:

  1. Все ссылки на внутренние страницы.
  2. Ссылки на внутренние файлы – CSS-стили, изображения, JavaScript.
  3. Альтернативные ссылки на языковые версии.
  4. Файл Sitemap.
  5. Ссылки на Sitemap в файле robots.txt.

Делать все это вручную – довольно утомительное занятие, ведь объем многих сайтов огромный. Поэтому пути в ссылках должны быть относительными. Например, /ssl, а не /ssl

При правильной настройке (описанной в предыдущем разделе) все должно работать автоматически.

Примеры 301 редиректов в .htaccess

Мы уже рассматривали множество примеров с редиректом по в статьях:

  • 301 редирект для удаления/добавления слэша в конце URL
  • 301 редирект с index (.html и .php) на корень сайта «/»
  • Редирект 301 с http на https
  • Редирект 301 с www на без www
  • Смена адреса сайта — редирект со старого домена на новый

Здесь мы дополним варианты редиректов, которых еще не было.

2.1. Редирект с одной страницы на другую

Редирект с site.ru/cat/oldpage на site.ru/newpage.html

RewriteRule ^cat/oldpage.* /newpage.html 

Или второй вариант:

Redirect 301 /cat/oldpage http://www.site.com/newpage.php 

2.2. Редирект со всех файлов .htm на .html

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.htm$ $1.html 

Или второй вариант:

RewriteRule ^(.*)\.htm$ $1.html 

С любой страницы в каталоге и подкаталогах /old/ будет происходит редирект на /new.php

RewriteRule ^old(.*)$ /new.php 

2.4. Удаление лишних слэшей в адресе URL

Например, страница /catalog///stranica.html доступна и открывается. Чтобы избежать такой ситуации и не плодить бесконечное число дублей следует записать следующий редирект

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 

2.5. Реврайт без редиректа

Можно загрузить другую страницу без смены адреса страницы URL. Например, загрузим страницу /news.html, а в адресной строке будет отображаться адрес /news/happy

RewriteRule ^news/happy.* /news.html 

2.6. Простановка замыкающего слеша в конце адреса главной страница

Например, многие сервера работают так, что последний слэш не пишется в URL. Например, http://site.ru. Ниже приведенный код решают это проблему: сайт будет открывать по http://site.ru/

RewriteCond %{REQUEST_URI} /++$
RewriteRule ^(.+)$ %{REQUEST_URI}/ 

Например для редиректа со страницы site.com/directoriya/stranica.html на site.com/stranica.html нужно прописать следующее:

RewriteRule ^directoriya/(.+)$ http://site.com/$1 

Или второй вариант:

RewriteCond %{DOCUMENT_ROOT}/directoriya/$1 -f
RewriteRule ^(.*)$ directoriya/$1 

2.8. Редирект GET параметров

Например, сделать редирект со страницы /?act=page&id=2 на /page-2/

RewriteCond %{QUERY_STRING} act=page 
RewriteCond %{QUERY_STRING} id=(\d+) 
RewriteRule .* /page/%1/? ]

2.9. Редирект на мобильную версию сайта m.site.ru

В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства , далее происходит замена адреса сайта на m.URL

RewriteCond %{HTTP_HOST} ^(.*)$ 
RewriteCond %{HTTP_USER_AGENT} (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource|opwv|chtml|pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|mitsu|sagem|sony|alcatel|lg|eric|vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt|sendo|sgh|gradi|jb|dddi|moto|iphone|android) 
RewriteRule ^$ http://m.%1 

2.10. Редирект с поддомена

Например, выполним редирект с любой страницы поддомена poddomen.site.ru на основной домен site.ru

RewriteCond %{HTTP_HOST} ^poddomen.site.ru$ 
RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} 

Выполнение HTTPS-редиректа на уровне приложений

Когда у вас нет доступа к конфигурации сервера, или логика редиректа является более сложной, необходимо обрабатывать редирект с HTTP на HTTPS на уровне приложений.

Такой подход немного медленнее, потому что сервер должен принять запрос, обработать код приложения (или взаимодействовать с сервером приложений) и вернуть ответ.

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

Ruby on Rails

Можно настроить редирект на уровне маршрутизатора, использовать промежуточное программное обеспечение Rack или метод redirect_to внутри контроллера:

constraints(host: /www.example.com/) do
  get '*', to: redirect('https://example.com')
end

PHP

Используйте функцию header, чтобы отправить HTTP-заголовок перенаправления:

<?php
header('Location: https://example.com/');
exit;
?>

В некоторых случаях это единственно возможный подход. Например, если нужно перенаправить клиентов с WWW на не-WWW версию домена, с HTTPS на Heroku или Azure (или наоборот), то придется указать оба домена в одном приложении, установить сертификат и через условия обрабатывать редирект на уровне приложений.

По умолчанию требуются параметры SSL и HTTP-перенаправления на веб-сайте по умолчанию на Exchange сервере

По умолчанию требуются параметры SSL и HTTP-перенаправления для веб-сайта по умолчанию, а все виртуальные каталоги на веб-сайте по умолчанию на Exchange описаны в следующей таблице.

Веб-сайт Виртуальный каталог Требовать SSL Перенаправление HTTP
Веб-сайт по умолчанию Н/д да Нет
Веб-сайт по умолчанию API да Нет
Веб-сайт по умолчанию aspnet_client (каталог) Да Нет
Веб-сайт по умолчанию Autodiscover да Нет
Веб-сайт по умолчанию ecp да Нет
Веб-сайт по умолчанию EWS да Нет
Веб-сайт по умолчанию mapi да Нет
Веб-сайт по умолчанию Microsoft-Server-ActiveSync Да Нет
Веб-сайт по умолчанию OAB да Нет
Веб-сайт по умолчанию owa Да

Подкаталоги:

  • auth да;
  • Calendar нет;
  • Integrated да;
  • oma да.
Нет
Веб-сайт по умолчанию PowerShell Нет Нет
Веб-сайт по умолчанию Rpc Нет Нет

Стратегии HTTPS-редиректов

Мы рассмотрели, как обрабатывается редирект с HTTP на HTTPS через htaccess после SSL / TLS согласования. А также выяснили, что для перенаправления клиентов с сайта или страницы на HTTPS нужен валидный сертификат SSL, который охватывает оба домена. Далее я расскажу об общих стратегиях настройки HTTPS-редиректов.

Существует два типа настройки редиректов с HTTPS:

  1. Редирект на уровне сервера;
  2. Редирект на уровне приложений.

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

Термин приложение обозначает веб-приложение, которое может быть либо столь же простым, как PHP-скрипт, либо более сложным, таким как серверное Unicorn-приложение интерпретации Ruby on Rails.

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

1.Через php-условие

В этом случае сервером определяется перенаправление и браузер получает команду открыть новый адрес вместо старого. Указать php-редирект можно в корневом файле index.php

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://new-domain.com/index-new.php”);
exit();
?>
<?php
if($_SERVER == "/index-old.php") { 
header("Location: /index-new.php",TRUE,301); 
exit(); 
}
?>

2.Через конфигурационный файл .htaccess

.htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками отдельного сайта без изменения основного конфигурационного файла веб-сервера.

1. Переадресация старой страницы на новую:

Redirect 301 /old.php http://www.mediasova.com/new.php

2. Переадресация старого сайта на новый

Redirect 301 / http://new.mediasova.com/
RewriteCond %{HTTP_HOST} ^old.mediasova.com 
RewriteRule ^(.*) http://new.mediasova.com/$1 

3. Переадресация с www на без www и наоборот

RewriteCond %{HTTP_HOST} ^www.mediasova.com$ 
RewriteRule ^(.*)$ http://mediasova.com/$1 
RewriteCond %{HTTP_HOST} ^mediasova.com  
RewriteRule ^(.*) http://www.mediasova.com/$1 

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

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 

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

RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 

6. Переадресация со всех несуществующих поддоменов на Ваш сайт

RewriteCond %{HTTP_HOST} ^(.*).mediasova.com  
RewriteRule ^(.*)$ http://mediasova.com/$1 
  • Некоторые настройки, например редирект с http на https или с www на без www, можно делать через настройку хостинга в панели клиента, не внося правки в файл .htaccess
  • Приведенные выше правила настройки для 301-редиректа лучше размещать все правила после двух строк, если они есть в Вашем файле .htaccess:
    Options +FollowSymLinks
    RewriteEngine On
  • Комментарий в файле обозначается символом решётка «#» в начале строки:
    # Текстовый комментарий, данная строчка не будет обрабатываться
  • Методы редиректа с использованием .htaccess работают только на серверах c операционной системой Linux, с установленным сервером Apache с включенным модулем Mod-Rewrite.
  • Использование .htaccess создает дополнительную нагрузку на сервер Apache. Более эффективно прописывать те же команды в конфигурационном файле hpptd.conf, но обычно к нему нет доступа у вебмастера.

How Semrush Can Help

If you’ve got any concerns about making the change to HTTPS, don’t worry: Semrush is here to help. We’ve penned a few handy guides to HTTPS, including the top 7 best practices for HTTP to HTTPS ranking and our study on 10 HTTPS implementation mistakes.

We recommend using the Site Audit tool to check on your redirects. The tool can check for any technical errors on your site, and suggests how to fix them. If you’ve run a site audit recently, visit the tool overview and select HTTPS Implementation.

You’ll be taken to this overview:

In addition to performance metrics, the tool will note why these aspects of your HTTPS implementation are important and, if there’s an issue, why it’s occurred and how you can fix it.

The Site Audit tool can also alert you to expired SSL certificates. Handy notifications can keep you updated on your security status and alert you to any points you need to address.

You can check on your internal links too: 

Find out exactly how many links need changing, why, and how to fix it. 

And that’s it! Now you know exactly how to redirect your HTTP site to HTTPS, why it’s so important, and how you can earn your user’s trust with a secured site. 

Of course, if you’re low on time or would rather have an expert do it for you, that’s a great option too. Use the Site Audit tool to keep an eye on your updated site when you get to the other side. Happy redirecting!

Этап 1. Удаление параметра «Требовать SSL» для веб-сайта по умолчанию с помощью диспетчера служб IIS

  1. Откройте диспетчер служб IIS на сервере Exchange. Открыть диспетчер служб IIS в Windows Server 2012 или более поздних версиях легко. Просто нажмите клавишу Windows+Q, введите в строке поиска inetmgr и в списке результатов выберите Диспетчер служб IIS.

  2. Разверните узел сервера, а затем раздел Сайты.

  3. Выберите Веб-сайт по умолчанию и убедитесь, что в нижней части страницы выбран элемент Просмотр возможностей.

  4. В разделе IIS дважды щелкните элемент Параметры SSL.

  5. На странице Параметры SSL снимите флажок Требовать SSL, а затем на панели Действия нажмите кнопку Применить.

Примечание. Чтобы выполнить эту процедуру в командной строке, откройте командную строку с повышенными привилегиями на сервере Exchange Server (для этого выберите Запуск от имени администратора) и выполните следующую команду:

Подготовка к переходу на HTTPS

Перед тем, как перенести сайт на HTTPS, необходимо выполнить подготовительные действия. Потребуется заменить абсолютные ссылки в статьях на сайте, на относительные ссылки.

В статьях на сайте есть ссылки на изображения, ссылки на другие статьи сайта. Из внутренних ссылок на сайте нужно убрать протокол (http), для того, чтобы ссылки работали при любом протоколе: незащищенном (http) или защищенном (https), без разницы.

Поисковые системы рекомендуют делать внутренние ссылки без указания протокола, и если возможно, то и внешние ссылки. В относительных ссылках отсутствует протокол, поэтому такие ссылки работают на сайте при любом варианте протокола (http, https).

Пример абсолютной ссылки с протоколом:

http://vellisa.ru

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

//vellisa.ru

Для замены ссылок я использовал плагин Search Regex. Включите плагин Search Regex, а затем выполните следующие действия:

  1. В поле «Search pattern» введите часть ссылки (на этом примере, часть ссылки на изображение), в которой указан протокол (http:).
  2. Нажмите на кнопку «Search», после этого, на странице отобразятся все найденные подобные ссылки и их количество.
  3. В поле «Replace pattern» введите такую же часть ссылки, только без указания протокола (смотрите пример на изображении).
  4. Нажмите на кнопку «Replace & Save».
  5. После этого, все подобные ссылки в статьях на сайте изменятся.

Теперь все ссылки на изображения на сайте будут без указания протокола:

было: src="http://vellisa.ru/wp-content/uploads/2017/01/0-2.png

стало: src="https://vellisa.ru/wp-content/uploads/2017/01/0-2.png

Подобным образом измените внутренние ссылки (уберите оттуда протокол) на другие статьи своего сайта (внутренняя перелинковка).

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

При подготовке к переносу сайта на защищенный протокол, мы решаем сразу три задачи: убираем протокол из ссылок, удаляем лишний код с сайта, выполняем рекомендации поисковых систем.

Гость форума
От: admin

Эта тема закрыта для публикации ответов.