Авто переадресация с https на http bitrixVM 5.1.5. Редирект на https на битрикс


Настраиваем редирект с HTTP на HTTPS

Приветствую вас на сайте Impuls-Web!

Сегодня мы рассмотрим последний этап перевода сайта на SSL-сертификат, в котором нам нужно настроить редирект с http на https, или, другими словами, перенаправление с нашего прежнего адреса, начинающегося с http://, на новый адрес по протоколу HTTPS.

Навигация по статье:

Обучение фотошоп

В предыдущих статьях я рассматривала процесс получения у установки SSL сертификата. Если вы их не читали – вот ссылки:Нужен ли SSL-сертификат для сайта?Как получить бесплатно SSL-сертификат для сайта?Как получить SSL сертификат?Как установить SSL-сертификат на хостинг?

Переадресация на https через htaccess

Если ваш сайт уже проиндексирован то перед настройкой редиректа вам нужно произвести склейку зеркал, а потом уже настраивать редирект. Это поможет минимизировать потери трафика и позиций . О том как это сделать написано тут.

Для того, что бы настроить редирект с http на https, вам нужно, при помощи программы Notepad++, в корне вашего сайта открыть файл .htaccess, и далее, в самом начале этого файла, прописать один из нескольких вариантов перенаправления.

Как пользоваться Notepad++ и настроить для него FTP-подключение я рассказывала в одной из прошлых статей, с которой вы можете ознакомиться по этой ссылке:

Редактирование файлов сайта в Notepad++

редактирование файла htaccess

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

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

Варианты написания серверного редиректа для HTTPS

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

Вариант 1

RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

RewriteCond %{HTTPS} =off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант 2

RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Вариант 3

RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{ENV:HTTPS} !on

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вариант 4

RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Вариант 5

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' RewriteRule ^(.*)$ https://www.site.ru/$1 [L]

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'

RewriteRule ^(.*)$ https://www.site.ru/$1 [L]

Вариант 6

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Вариант 7

RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Вариант 8

RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

После вставки одного из этих вариантов в файл .htaccess, сохраняете изменения.

Проверка редиректа

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

Так же, вы можете воспользоваться одним из онлайн-сервисов, которые позволяют просмотреть правильность выполнения редиректа. Например, Redirect Checker. Для выполнения проверки вам нужно:

  1. 1.Перейти на страницу онлайн-сервиса по этой ссылке
  2. 2.В поле для ввода указать адрес, с которого должно осуществляться перенаправление в формате http://имя-сайта.ру .
  3. Сервис проверки редиректа
  4. 3.А затем нажать на кнопку «Analyse».

В результате сервис вам выдаст отчет о правильности работы перенаправления. В моем случае редирект работает не правильно:

Результат проверки перенаправления

Перенаправление вроде бы как происходит, но это происходит несколько раз, и почему то происходит не 301 редирект, а 302. Насколько я поняла, это называется циклический редирект, и такого быть не должно. Поэтому мне нужно пробовать другие варианты.

Так же, вы можете проверить правильность выполнения редиректа для конкретной поисковой системы. Для этого, перед нажатием на кнопку «Analyse», нужно выбрать из выпадающего списка название нужного поискового робота:

проверка редиректа под поисковую систему

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

Так же, вы можете назначить 301 редирект сразу после получения и установки с SSL-сертификата, но в этом случае вы рискуете тем, что многие страницы вашего сайта могут на время выпасть из поисковой выдачи.

Как научиться продвигать сайты?

Я надеюсь, что данная статья поможет вам правильно настроить редирект для HTTPS –протокола и осуществить переход на SSL-сертификат с наименьшими потерями. Если данная статья вам понравилась, делайте репост в социальные сети и подписывайтесь на мою рассылку. Желаю вам успешного переезда и до встречи в следующих статьях.

С уважением Юлия Гусарь

impuls-web.ru

Как сделать редирект с http на https, и зачем это нужно?

Все больше и больше сайтов стремятся перейти на новый протокол HTTPS. Эта новая мода также подхвачена поисковыми системами, которые выше ранжируют сайты с данным протоколом безопасности. Хостинги предлагают услуги в виде предоставления бесплатных сертификатов, выходят соответствующие плагины для систем управления контентом. Поэтому каждый вебмастер легко сможет перейти на новый протокол и реализовать редирект с http на https в "Битрикс", "Вордпресс" и на других CMS. Но для чего это нужно?

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

Что дает переход с HTTP на HTTPS?

Внедрение нового протокола безопасности для сайта может происходить по трем причинам:

  1. Конфиденциальность. Интернет - это открытая среда, и https здесь защищает коммуникации между сторонами. При отсутствии HTTPS владельцу точки доступа будут доступны приватные данные: кредитные карты (при совершении покупки в интернет-магазине, например).
  2. Целостность. Протокол https гарантирует, что информация будет доставлена адресату в нетронутом виде. Например, владелец Wi-Fi сможет вставлять на сайт "левую" рекламу, изменять внешний вид сайта и сжимать картинки для экономии трафика. Но если на сайте есть HTTPS, то это гарантирует, что сайт не будет изменен.
  3. Подлинность. Сертификат гарантирует, что посещаемый сайт действительно является подлинным.

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

протокол https

Также сертификация оказывает положительное влияние на продвижение сайта в поисковых системах. Поэтому многие вебмастера получают сертификаты безопасности для своих сайтов. Но после получения сталкиваются с проблемой - настройкой. Ведь недостаточно просто получить сертификат, нужно правильно перенаправить весь трафик на новый домен и "рассказать" об этом поисковым системам. Как это сделать?

Подготовка

Перед тем как создать редирект с http на https, необходимо подготовить сайт. Самое первое действие - сделать внутренние ссылки относительными. То есть необходимо убрать вначале ссылки символы "http://". Также можно добавить букву "s" к указанным символам, чтобы все ваши статьи ссылались на версию сайта с протоколом безопасности, но это необходимо делать после окончательного перехода сайта.

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

Сделать это несложно. Сейчас существует много программ для разных систем управления контентом, которые за пару секунд сделают все ссылки на сайте относительными. Например, для популярной системы Wodpress есть плагин HTTP / HTTPS Remover.

Проверка

После установки сертификата и настройки внешних ссылок желательно проверить, правильно ли "стал" сертификат. Сделать это можно с помощью специального сервиса ssllabs.com. Там нужно вписать доменное имя сайта нажать на кнопку Sabmit, после чего система покажет оценку настройки соединения и даст советы относительно решения возможных проблем. Если параметр Overall Rating будет иметь оценку "A", то значит, все отлично и ваш сертификат безопасности хорош.

Настройка редиректа с http на https

Поисковые системы воспринимают сайты с сертификатом HTTPS и без него как два абсолютно разных сайта. Поэтому настройка редиректа с http на https обязательна. Эта процедура равна смене домена. При этом переадресацию необходимо настроить прямо и важно, чтобы она не содержала промежуточных документов. В противном случае могут образоваться цепочки редиректов, что может запутать поисковые системы. Естественно, это негативно повлияет на восприятие сайта и никакой пользы не принесет. редирект с http на https в битрикс

Самый простой вариант - редактировать файл htaccess. Редирект с HTTP на HTTPS с помощью этого файла делается в том случае, если сайт размещен на сервере Apache. Необходимо в файле прописать следующие строки:

[...]

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

[...]

Можете просто скопировать и вставить в свой файл htaccess. Напомним, он находится в корне вашего сайта и всегда присутствует на сайтах, работающих под управлением Apache.

Прописав данный код, проверьте, действительно ли заработал редирект с http на https. Для этого просто зайдите на любую страницу сайта и посмотрите, перенаправило ли вас на домен с https сертификатом. Если да, то походите по другим страницам.

Теперь, когда робот поисковой системы попадет на ваш сайт, он будет автоматически перенаправлен на версию https. Ему потребуется время, чтобы понять, что к чему и внести эти данные в свой алгоритм. Обычно восприятие перехода и редиректа с http на https у поисковой системы "Яндекс" занимает около месяца, хотя у Google уходит неделя-другая.

Помните, что не всегда переход на https является успешным. Сайты некоторых вебмастеров после этой процедуры сильно падают по позициям в поисковых системах, выпадают из индекса и затем снова в него попадают очень нескоро. Иногда приходится жертвовать большой долей трафика, и многие вебмастера крайне недовольны результатом перехода. Также обнуляется ТИЦ, и хотя он потом восстанавливается, на время его обнуления сайт в глазах рекламодателей выглядит очень плохо.

Впрочем, чаще всего редирект проходит практически безболезненно и быстро. "Яндекс" в течение месяца "склеивает" сайт и его зеркало, и в результате весь трафик возвращается обратно, но уже на новый домен с приставкой https.

Заключение

Рано или поздно переходить на новый протокол безопасности придется. Вскоре это станет одним из ключевых требований поисковых систем, которые просто не будут высоко ранжировать сайты с протоколом http. Так почему бы это не сделать раньше, чем сделают ваши конкуренты? Да, в первое время будет тяжело, и вы, скорее всего, потеряете часть трафика, но в долгосрочной перспективе точно выиграете. По крайней мере, так говорят сами представители поисковых систем. Нет оснований им не верить. И вообще, переход на https - это совершенствование своего сайта с точки зрения безопасности.

fb.ru

php - Авто переадресация с https на http bitrixVM 5.1.5

Приобрел сертификат. Установил BitrixVM 5.1.5. Cгенерировал cert.pem и private.key. Положил их в /etc/nginx/ssl/1/ потом в /etc/nginx/bx/conf/ssl.conf прописал ssl_certificate /etc/nginx/ssl/1/cert.pem; и ssl_certificate_key /etc/nginx/ssl/1/private.key; далее перезапустил nginx. Затем развернул из облака 1с резервную копию сайта. при заходе на сайт через https:// идет редирект на http:// причем если пытаться открыть https://mysite.com/bla-bla/chto_ygodno/ откроется всёравно http://mysite.com/

Сразу подумал что BitrixVM должна поддерживать работу 80 и 443 порта одновременно, посмотрел конфиги nginx и не нашёл не чего необычного.

Вывод: наверно проблема в сайте, но ниже представлю также не чем не удивленный .htaccess И На этом мои идеии кончились, помогите, подскажите где искать этот пресловутый редирект, очень Вам буду благодарен, ниже конфиги.

.htaccess

Options -Indexes ErrorDocument 404 /404.php <IfModule mod_php5.c> php_flag session.use_trans_sid off php_value auto_prepend_file "/home/bitrix/ext_www/mysite.com/bitrix/modules/security/tools/start.php" php_value display_errors 0 #php_value mbstring.internal_encoding UTF-8 </IfModule> <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ Redirect 301 /shop/zapchasti/ /shop/tovari/dlya_pitbaykov/ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] </IfModule> <IfModule mod_dir.c> DirectoryIndex index.php index.html </IfModule> <IfModule mod_expires.c> ExpiresActive on ExpiresByType image/jpeg "access plus 3 day" ExpiresByType image/gif "access plus 3 day" ExpiresByType image/png "access plus 3 day" ExpiresByType text/css "access plus 3 day" ExpiresByType application/javascript "access plus 3 day" </IfModule>

/etc/nginx/bx/site_avaliable/

bx_ext_mysite.com.conf

server { listen 80 ; server_name mysite.com www.mysite.com; access_log /var/log/nginx/mysite_access.log main; error_log /var/log/nginx/mysite_error.log warn; #charset utf-8; server_name_in_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:80; set $proxyserver "http://127.0.0.1:8887"; set $imcontenttype "text/html; charset=utf-8"; set $docroot "/home/bitrix/ext_www/mysite.com"; index index.php; root "/home/bitrix/ext_www/mysite.com"; # Redirect to ssl if need if (-f /home/bitrix/ext_www/mysite.com/.htsecure) { rewrite ^(.*)$ https://$host$1 permanent; } # Include parameters common to all websites include bx/conf/bitrix.conf; # Include munin and nagios web include bx/server_monitor.conf; }

bx_ext_ssl_mysite.com.conf

server { listen 443 ssl; server_name mysite.com www.mysite.com; # enable SSL connection include bx/conf/ssl.conf; access_log /var/log/nginx/mysite_access.log main; error_log /var/log/nginx/mysite_error.log warn; #charset utf-8; server_name_in_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:443; proxy_set_header HTTPS YES; proxy_set_header X-Forwarded-Proto https; set $proxyserver "http://127.0.0.1:8887"; set $imcontenttype "text/html; charset=utf-8"; set $docroot "/home/bitrix/ext_www/mysite.com"; index index.php; root "/home/bitrix/ext_www/mysite.com"; # Include parameters common to all websites include bx/conf/bitrix.conf; # Include munin and nagios web include bx/server_monitor.conf; }

Разумеется вместо mysite.com мой домен на который куплен сертификат.

Очень надеюсь на вашу смекалку и буду рад любым подсказкам в поисках этого редирект.

Может быть есть некий способ посмотреть по логам что вызывает редирект, о котором я не знаю?)

ru.stackoverflow.com


Prostoy-Site | Все права защищены © 2018 | Карта сайта