установка_ssl_сертификатов_для_веб-публикации

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
установка_ssl_сертификатов_для_веб-публикации [2023/03/31 11:01] jpустановка_ssl_сертификатов_для_веб-публикации [2023/04/07 08:48] (current) jp
Line 1: Line 1:
 ===== Установка SSL сертификатов для веб-публикации ===== ===== Установка SSL сертификатов для веб-публикации =====
  
-1. Запрашиваем в УЦ сертификаты для веб-сервера. Хорошо подойдёт одноименный шаблон в Windows CA. В шаблоне должен быть экспортируемый закрытый ключ, чтобы мы могли выгрузить сертификат и импортировать его в Apache. В запрос сертификата нужно включить все имена, по которым собираемся обращаться к веб-серверу 1С.+1. Запрашиваем в УЦ сертификаты для веб-сервера. Хорошо подойдёт одноименный шаблон в Windows CA. 
  
-2. Экспортируем полученный сертификат в base64 кодировке, в файле pfx. Также полезно эскпортировать две цепочки сертификатов: одну полную, которая включает сертификат сервера и сертификаты всех УЦ, включая корневой, а также цепочку сертификатов для удостоверяющих центров - к примеру, издающий + корневой тоже в base64. +В шаблоне должен быть экспортируемый закрытый ключ, чтобы мы могли выгрузить сертификат и импортировать его в Apache. В запрос сертификата в //subject alternative names// нужно включить все имена, по которым собираемся обращаться к веб-серверу 1С. 
 + 
 +2. Экспортируем полученный сертификат в base64 кодировке, в файле pfx. Также полезно эскпортировать две цепочки сертификатов: одну полную, которая включает сертификат сервера и сертификаты всех УЦ, включая корневой, а также цепочку сертификатов для удостоверяющих центров - к примеру, издающий + корневой (тоже в base64)
  
 :!: //Цепочка формируется простым копированием текста сертификата. При этом, сначала идет сертификат самого сервера, затем сертификат промежуточного центра, затем сертификат корневого.// :!: //Цепочка формируется простым копированием текста сертификата. При этом, сначала идет сертификат самого сервера, затем сертификат промежуточного центра, затем сертификат корневого.//
  
-Пример цепочки из трёх сертификатов - сервера, промежуточного УЦ, корневого УЦ:+Пример цепочки из трёх сертификатов - сервера, промежуточного УЦ, корневого УЦ
  
 <code> <code>
Line 128: Line 130:
 4. Получаем два разных файла для сертификата сервера - открытый и закрытый ключ из загруженного pfx. Как это сделать - описано в разделе [[OpenSSL]]. 4. Получаем два разных файла для сертификата сервера - открытый и закрытый ключ из загруженного pfx. Как это сделать - описано в разделе [[OpenSSL]].
  
-5. Все сертификаты с открытым ключем (сертификат сервера, цепочку, а также полную цепочку) - копируем в папку:+5. Все сертификаты с открытым ключем (сертификат сервера, цепочку, а также полную цепочку) - копируем в папку certs
  
-   /etc/ssl/certs/*.*+   /etc/ssl/certs/1c-srv.cer 
 +   /etc/ssl/certs/ourchain-1c-srv.cer 
 +   /etc/ssl/certs/ourchain.cer
  
-Закрытый ключ сертификата сервера копируем в папку+Закрытый ключ сертификата сервера копируем в папку private 
  
    /etc/ssl/private/server.key    /etc/ssl/private/server.key
  
-6. Если на нашем сервере Apache обслуживает только 1С, то нам просто нужно отредактировать файл+6. Если на нашем сервере Apache обслуживает только 1С, то нам просто нужно отредактировать файл с сайтом по умолчанию
  
    /etc/apache2/sites-enabled/000-default.conf    /etc/apache2/sites-enabled/000-default.conf
-Добавим в него virtualhost по умолчанию для https+Добавим в него блок virtualhost для всех подключений по https
  
 <code> <code>
Line 168: Line 172:
 9. Проверяем доступность публикации по https. 9. Проверяем доступность публикации по https.
  
-{{tag>1C Certificates Apache}}+---- 
 + 
 +=== Делаем редирект с http на https в Apache === 
 + 
 +Добавляем правила рерайта в файл 
 + 
 +   /etc/apache2/sites-available/000-default.conf 
 +<code> 
 +RewriteEngine On 
 +RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/ 
 +RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] 
 +</code> 
 + 
 +Перезапускаем Apache 
 + 
 +   systemctl restart apache2 
 +Если при перезагрузке Apache получаем сообщение об ошибке - скорее всего у нас не установлен mod rewrite.  
 + 
 +Установим его и перезапустим Apache снова 
 + 
 +   sudo a2enmod rewrite 
 +{{tag>1C Certificates Apache ADCS PKI}}
установка_ssl_сертификатов_для_веб-публикации.1680260461.txt.gz · Last modified: 2023/03/31 11:01 by jp