+7 495 008 8452
  • Загрузка
Выберите ваш цвет

Установка ssl-сертификата для битрикс окружения bitrix vm

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

Ssl-cертификат для сайта, работающего на машине bitrix vm следует устанавливать в веб-сервер nginx.

Делается это вручную, путем правки конфигурации веб-сервера nginx. Рассмотрим эту операцию пошагово.

Во-первых, нужно купить и иметь на руках файлы сертификата в нужном формате для веб-сервера nginx. Иногда приходится создавать такие файлы вручную. В интернете есть статьи, о том, как получить два файла domain_ru.crt и domain_ru.key


1/

Необходимо скопировать эти два сайта в папку /etc/nginx/ssl/
Предполагается, что сертификаты всех сайтов, расположенных на текущем bitrix vm, будут храниться в данной папе.

2/

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

/etc/nginx/bx/site_avaliable/bx_ext_domain.ru.conf
/etc/nginx/bx/site_avaliable/bx_ext_ssl_domain.ru.conf

Примечание: если ваш сайт установлен в папку /home/bitrix/www, то редактировать нужно файлы

/etc/nginx/bx/site_avaliable/s1.conf
/etc/nginx/bx/site_avaliable/ssl.s1.conf

3/

В файл /etc/nginx/bx/site_avaliable/bx_ext_ssl_domain.ru.conf необходимо включить наши файлы сертификата.

Для этого комментируем строчку include bx/conf/ssl.conf; (вставляем впереди нее #)
а вместо нее вставляем содержимое файла /etc/nginx/bx/conf/ssl.conf

server {
  listen 443 ssl;
  server_name domain.ru www.domain.ru;

  # enable SSL connection
  #include bx/conf/ssl.conf;

  access_log /var/log/nginx/domain.ru_access.log main;
…

4/

Когда мы вставили содержимое файла /etc/nginx/bx/conf/ssl.conf вместо строчки, необходимо указать наши файлы в строчках ssl_certificat и ssl_certificate_key:

server {
  listen 443 ssl;
  server_name domain.ru www.domain.ru;

  # enable SSL connection
  #include bx/conf/ssl.conf;
  
	# If they come here using HTTP, bounce them to the correct scheme
	# Nginx internal code used for the plain HTTP requests
	# that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection.
	error_page 497 https://$host$request_uri;

	# …
	# SSL encryption parameters
	ssl			on;
	#...
	ssl_certificate		/etc/nginx/ssl/domain_ru.crt;
	ssl_certificate_key	/etc/nginx/ssl/domain_ru.key;

	# …

5/

Теперь нам нужно отредактировать файл /etc/nginx/bx/site_avaliable/bx_ext_domain.ru.conf таким образом, чтобы происходил редирект сайта с http://domain.ru на https://domain.ru

Примечание: СЕО-продвиженцы часто требуют, чтобы редирект не распространялся на файл robots.txt, это мы и учитываем здесь

server {
  listen 80 ;
  server_name domain.ru www.domain.ru;

  #...
  
  # Redirect to ssl if need
  if (-f /home/bitrix/ext_www/domain.ru/.htsecure) { return 301 https://$host$request_uri; }
  # добавляем эти три строчки:  
  if ($request_uri !~* "/robots.txt") {
		rewrite ^(.*)$ https://$host$1 permanent;
	}
  
  #...

Примечание: если не требуется добавить файл robots.txt в исключение, то достаточно создать файл в корне сайта /home/bitrix/ext_www/domain.ru/.htsecure с пустым содержимым. По этому же файлу меню виртуальной машины определяет режим работы сайта по https.

6/

проверяем успешность операции и перезапускаем ngixn для применения настроек

[root@server~]# service nginx configtest
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если возникли ошибки в конфигурации – их нужно устранить. Если все успешно – перезапускам nginx для применения настроек

7/

Перезапуск nginx

[root@server~]# service nginx restart

Stopping nginx:                                            [ OK ]
Starting nginx:                                            [ OK ]


Все, мы установили сертификат для сайта klausauto.ru. Открываем браузер – и проверяем результат. Если видим зеленый замочек – значит все получилось

2016-06-17_15-48-10.png

Примечание: Чаще всего после этой операции еще требуется устранить ошибки mixed-content (перечеркнутый замочек). Это обозначает, что на сайте в исходном коде html присутствуют картинки, стили, и прочие файлы, которые открывается по протоколу http. Исправление этой ошибки всегда специфично (поиск таких мест, и указание у них https впереди, либо просто ресурс без протокола //), поэтому выходит за рамки данной статьи. С целью безопасности, браузеры требуют, чтобы все ресурсы сайта (картинки, скрипты, стили…) также открывались по https.



Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...