Как установить ssl сертификат на сервер apache windows

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

Веб-сервер Apache поддерживает работу HTTPS. Для настройки HTTPS на Apache нужен SSL сертификат. Точнее говоря, «SSL сертификат» включает в себя приватный ключ и публичный ключ (сертификат). Также вместе с SSL ключами дополнительно могут присылаться сертификаты центра сертификации, корневой сертификат.

Сертификаты SSL

SSL сертификаты можно разделить на два вида: валидные и самоподписанные.

Сертификат SSL можно сгенерировать у себя на компьютере. Причём можно сгенерировать для любого доменного имени. Но к таким сертификатам у веб-браузеров нет доверия. Поэтому если открыть сайт, защищённый таким сертификатом, то веб-браузер напишет ошибку, что сертификат получен из ненадёжного источника и либо запретит открывать этот сайт, либо предложит перейти на сайт на ваш страх и риск. Это так называемые «самоподписанные сертификаты». Чтобы браузер не выдавал ошибку о ненадёжного сертификате, его нужно добавить в список доверенных. Такие сертификаты подойдут для тестирования веб-сервера и обучению настройки веб-сервера для работы с SSL и HTTPS. Ещё такой сертификат можно использовать на сайте, к которому имеет доступ ограниченный круг лиц (несколько человек) — например, для сайтов в локальной сети. В этом случае они все могут добавить сертификат в доверенные.

Для реального сайта такой сертификат не подойдёт.

Для рабочего окружения нужен валидный сертификат, его можно получить двумя способами:

1) получить тестовый сертификат на 3 месяца (затем его можно продлить)

2) купить сертификат — в этом случае он действует от года и более

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

Данная статья посвящена вопросу, как настроить Apache в Windows для работы с протоколом HTTPS, будет показано, как подключить SSL сертификаты к Apache в Windows. Поэтому для целей тестирования и обучения нам хватит самоподписанного сертификата.

Как сгенерировать SSL сертификат в Windows

У меня веб-сервер установлен в папку C:\Server\bin\Apache24, поэтому если у вас он в другой директории, то подправьте команды под свои условия.

Откройте командную строку Windows (Win+x, далее выберите «Windows PowerShell (администратор)»). В командной строке введите команды:

cmd
cd C:\Server\bin\Apache24\bin\
set OPENSSL_CONF=C:\Server\bin\Apache24\conf\openssl.cnf
openssl.exe genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out localhost.key
openssl.exe req -new -key localhost.key -out localhost.csr

При вводе последней команды появятся запросы на английском языке. Ниже следует их перевод.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

Перевод:

Вас попросят ввести информацию, которая будет включена в запрос вашего сертификата. То, что вы будете вводить, называется Distinguished Name или DN. Там всего несколько полей, которые можно оставить пустыми. В некоторых полях будут значения по умолчанию. Если вы введёте ‘.’, то поле будет оставлено пустым.

Далее:

Country Name (2 letter code) [AU]:

Перевод:

Двухбуквенное имя страны (двухбуквенный код)

Далее:

State or Province Name (full name) [Some-State]:

Перевод:

Название штата или провинции/области (полное имя)

Далее:

Locality Name (eg, city) []:

Перевод:

Название населённого пункта (например, города)

Далее:

Organization Name (eg, company) [Internet Widgits Pty Ltd]:

Перевод:

Название организации (т.е. компании).

Далее:

Organizational Unit Name (eg, section) []:

Перевод:

Подразделение организации (т.е. отдел)

Далее:

Common Name (e.g. server FQDN or YOUR name) []:

Перевод:

Общее имя (например, FQDN сервера или ВАШЕ имя). Это самая важная часть — здесь нужно ввести доменное имя. Можете ввести localhost.

Далее:

Email Address []:

Перевод:

Адрес электронной почты

Далее:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Перевод:

Пожалуйста, введите следующие «дополнительные» атрибуты для отправки с вашим запросом сертификата
Пароль запроса:
Опциональное имя компании:

Теперь выполните команду:

openssl.exe x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt

В результате в каталоге C:\Server\bin\Apache24\bin\ должны появиться три новых файла:

  • localhost.key
  • localhost.csr
  • localhost.crt

Из них нам понадобятся только два:

  • localhost.key
  • localhost.crt

Как в Windows для Apache подключить SSL сертификаты

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

LoadModule ssl_module modules/mod_ssl.so
 
Listen 443
<VirtualHost *:443>
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "/путь/до/www.example.com.crt"
    SSLCertificateKeyFile "/путь/до/www.example.com.key"
</VirtualHost>

Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже (в моём случае веб-сервер установлен по этой инструкции, если у вас не так, то отредактируйте пути до файлов).

В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.

В директории C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. В самый низ добавьте туда строки:

LoadModule ssl_module modules/mod_ssl.so

Listen 443
<VirtualHost _default_:443>
    DocumentRoot "c:/Server/data/htdocs/"
    ServerName localhost:443
    ServerAdmin admin@example.com
    ErrorLog "${SRVROOT}/logs/error-ssl.log"
    TransferLog "${SRVROOT}/logs/access-ssl.log"

    SSLEngine on

    SSLCertificateFile "C:\Server\certs\localhost.crt"
    SSLCertificateKeyFile "C:\Server\certs\localhost.key"
</VirtualHost>

Обратите внимание, что вам может понадобиться отредактировать следующие директивы

  • DocumentRoot — укажите путь до сайтов на сервере
  • ServerName — укажите имя вашего хоста, если это не локалхост

Обратите внимание, что мы не просто поместили эти строки в конфигурационный файл, а заключили их в контейнер VirtualHost. Дело в том, что если этого не сделать, то директива SSLEngine on включит SSL для всего веб-сервера, и даже при попытке открыть сайты на 80 порту, эти подключения будут обрабатываться как HTTPS, что вызовет ошибку «Bad Request. Your browser sent a request that this server could not understand». По этой причине эти настройки помещены в контейнер виртуального хоста. Обратите внимание, что используется ключевое слово _default_ — то есть сюда будут собираться все запросы на 443 порт если они не предназначены для другого хоста, который также настроен. То есть при желании вы можете создать больше виртуальных хостов для работы с HTTPS, при этом вместо _default_ указывайте IP хоста или символ * (звёздочка).

Связанная статья: Виртуальный хост Apache по умолчанию. _default_ и catch-all в Apache

После этого сохраните изменения, закройте файл и перезапустите веб-сервер.

c:\Server\bin\Apache24\bin\httpd.exe -k restart

Для проверки сделанных изменений, перейдите по адресу https://localhost/ (протокол HTTPS). Поскольку сертификат является самоподписанным, то появится такое сообщение:

К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».

Как уже было сказано, валидные сертификаты нужно покупать, либо использовать тестовые. В чём подвох использования тестовых сертификатов? Формально, в какой-то момент их могут перестать выдавать, но, на самом деле, уже сейчас многие сайты годами живут с такими тестовыми сертификатами. На современных хостингах настроено автоматическое подключение и продление таких сертификатов — это просто супер удобно. Обычно на хостингах предусмотрено некоторое количество абсолютно бесплатных SSL сертификатов с автоматическим продлением, но за небольшую плату (10 рублей в месяц), можно подключить тестовые сертификаты для любого количества сайтов. Пример такого хостинга здесь.

Решение проблем

При некоторых условиях может возникнуть следующая ошибка:

Can't open C:\Program Files\Common Files\SSL/openssl.cnf for reading, No such file or directory
9112:error:02001003:system library:fopen:No such process:crypto\bio\bss_file.c:72:fopen('C:\Program Files\Common Files\SSL/openssl.cnf','r')
9112:error:2006D080:BIO routines:BIO_new_file:no such file:crypto\bio\bss_file.c:79:
unable to find 'distinguished_name' in config
problems making Certificate Request
9112:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270:

Главная подсказка в первой строке: Can’t open C:\Program Files\Common Files\SSL/openssl.cnf for reading, No such file or directory — она означает, что возникла ошибка чтения файла C:\Program Files\Common Files\SSL/openssl.cnf из-за того, что он отсутствует.

Файл openssl.cnf поставляется с самим веб-сервером Apache и находится в папке conf. Поэтому есть несколько вариантов, как исправить эту ошибку. Например, можно создать нужные папки и скопировать туда этот файл. Но можно пойти более простым путём — на время создания сертификатов установить переменную окружения OPENSSL_CONF указав в ней правильный путь до файла.

Также нужно переключиться из PowerShell в обычную командную строку Windows, поскольку иначе переменная окружения почему-то не устанавливается. Допустим, сервер размещён в папке C:\Server\bin\Apache24\bin\, тогда файл openssl.cnf расположен по пути C:\Server\bin\Apache24\conf\openssl.cnf, в этом случае, чтобы исправить ошибку Can’t open C:\Program Files\Common Files\SSL/openssl.cnf for reading, No such file or directory нужно выполнить:

cmd
cd C:\Server\bin\Apache24\bin\
set OPENSSL_CONF=C:\Server\bin\Apache24\conf\openssl.cnf

Отредактируйте пути в этих командах в соответствии с вашей структурой папок.

Связанные статьи:

  • Ошибка «You’re speaking plain HTTP to an SSL-enabled server port» (РЕШЕНО) (100%)
  • Apache для Windows (51.2%)
  • Как запустить Apache на Windows (51.2%)
  • Документация по Apache на русском языке (51.2%)
  • Как подключить PHP к Apache на Windows (51.2%)
  • Как сделать резервную копию баз данных MySQL (MariaDB) в Windows без phpMyAdmin (RANDOM — 50%)

Last updated on July 19th, 2024 at 06:23 am

SSL certificate helps you improve web traffic between client browser and your server, and increase data security. Here’s how to install SSL certificate on Apache Windows.

Here are the steps to install SSL certificate on Apache Windows.

1. Enable mod_ssl

mod_ssl is an Apache module required to install and manage SSL/TLS certificates. You can enable it in your Apache server by editing the main server configuration file.

Open Apache server configuration httpd.conf file at c:\Program Files\Apache Software Foundation\Apache2.2\conf\

Uncomment the following lines by removing # at their beginning:

#Loadmodule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-default.conf

Now they should appear as:

Loadmodule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-default.conf

Bonus Read : How to Generate CSR for SSL Certificate

2. Get SSL Certificate

Next, get the SSL/TLS certificate bundle from your certificate authority such as Namecheap, RapidSSL, Comodo, GoDadddy, Let’s Encrypt, etc. You can also use a free SSL provider like SSLForFree.

You will get 3 files from certificate authority.

  1. key (e.g private.key) – your key file. Don’t share this with anyone publicly
  2. Certificate (e.g certificate.crt) – actual SSL/TLS certificate for your domain
  3. Ca_bundle (e.g ca_bundle.crt) – Root/intermediate certificate

Bonus Read : How to Redirect non-www to www in Apache

If you are using self-signed certificate, then you can install them directly. There is no need to generate CSR and obtain certificates from public CA.

3. Apache SSL Configuration

Now that we have setup the prerequisites, we will configure SSL certificate in Apache

Download the 3 files mentioned in step 2 to c:\Program Files\Apache Software Foundation\Apache2.2\conf\

Next, open Apache SSL configuration file httpd-ssl.conf at c:\Program Files\Apache Software Foundation\Apache2.2\conf\extras

Add the following lines in VirtualHost tag before </VirtualHost> line.

SSLEngine On
SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/certificate.crt"
SSLCertificateChainFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/ca_bundle.crt"
SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/private.key"

You VirtualHost block will look something like this

<VirtualHost _default_:443>
DocumentRoot “Your Website's Root folder location” 
ServerName www.example.com:443
SSLEngine On
SSLCertificateFile "/etc/apache2/ssl/certificate.crt"
SSLCertificateChainFile "/etc/apache2/ssl/ca_bundle.crt"
SSLCertificateKeyFile "/etc/apache2/ssl/private.key"
</VirtualHost>

In the above lines, we use 3 Apache server directives

  1. SSLCertificateFile – Certificate CRT file path
  2. SSLCertificateKeyFile –  Private key file path
  3. SSLCertificateChainFile – CA bundle file path

Bonus Read : How to Redirect URL to Another URL

4. Test Apache Configuration and Restart Server

Restart Apache Server using its Server Manager

Now you have installed SSL certificate in Apache web server. Open a browser and visit https:// version of your domain (e.g https://www.example.com).

You will see a lock symbol next to your URL, in browser’s address bar, indicating that your website’s SSL/TLS certificate is working properly.

example.com https ssl tls

Hopefully, now you can configure SSL certificate in Apache for Windows.

Ubiq makes it easy to visualize data in minutes, and monitor in real-time dashboards. Try it Today!

Related posts:

Sreeram Sreenivasan is the Founder of Ubiq. He has helped many Fortune 500 companies in the areas of BI & software development.

Если вы используете веб-сервер Apache на Windows Server, рекомендуется обеспечить шифрование данных пользователей при их подключении к веб-серверу.
Это можно сделать с помощью бесплатного SSL-сертификата от Let’s Encrypt.

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

Сертификаты выпускаются с помощью автоматизированной среды управления сертификатами ACME.
WACS (Windows ACME Simple) — одно из самых популярных клиентских приложений этой среды для ОС Windows и
популяроно среди пользователей как самый простой способ получить и автоматически обновлять SSL-сертификат от Let’s Encrypt.

Подготовка утилиты WACS

Перед установкой SSL-сертификата, необходимо скачать и настроить утилиту WACS.
С её помощью мы получим и установим в системе SSL-сертификат, а также создадим задачу по его автоматическому обновлению.

Архив утилиты доступен для загрузки на своей странице, перейдя на которую нажмите **Download**

  1. Загрузите архив и после загрузки распакуйте его в папку например C:\Win-acme\
  2. Перейдите в директорию /Scripts и создайте в ней текстовый файл с расширением .bat
  3. Запишите в него команды перезагрузки нашего веб-сервера

net stop "Apache2.4"

net start "Apache2.4"

  1. сохраните и закройте это файл

Установка SSL-сертификата

Для установки SSL-сертификата на Apache, переходим в каталог C:\Win-acme\ и запускаем от имени Администратора файл wacs.exe.

  1. В начальном меню утилиты выберите пункт Create certificate (full options) используя символ m.
  2. Перейдем в пункт 2: Manual input
  3. В строке Host: укажем имя своего домена.
  4. Подтвердим правильность введённого имени нажатием клавиши Enter
  1. Выбираем пункт 4: Single certificate.
  2. После чего выбераем пункт 1: [http] Save verification files on (network) path
  3. В строку Path: введем путь до директории htdocs, например C:\Apache24\htdocs
  4. От сохранения дефолтного файла web.config откажемся. Для этого введем символ n
  5. В следующем меню выберем пункт RSA key. указав 2
  1. Далее изменим настройку утилиты, при помощи которой она привяжет получаемый SSL-сертификат к Apache,
    выберем соответствующий этому веб-серверу пункт, то есть — 2: PEM encoded files (Apache, nginx, etc.), указав 2
  2. Укажем директорию, куда сохранять сертификаты: C:\Apache24\conf\ssl
  3. Мы не будем использовать пароль на сертификат, поэтому выберем пункт 1: None.
  4. То же касается дополнительных опций — если в них нет необходимости, укажем пункт 5: No (additional) store steps.
  5. В следующем меню выбеем пункт 2: Start external script or program
  6. Далее в строке File: укажем имя созданного ранее файла для перезапуска службы Apache с полным путём до него. C:\win-acme\Scripts\RestartApache.bat
  7. В строку Parameters введем: {StoreType} {StorePath} {RenewalId}.
  1. Если в дополнительных установочных опциях необходимости нет, то в следующем меню выберftv пункт 3: No (additional) installation steps.
  2. При желании можно изучить текст абонентского соглашения. Чтобы это сделать, используйте символ y или перейти
    сразу к установке выбрав n
  3. Соглашаемся с абонентским соглашением выбрав y
  4. Вводим адрес своей электронной почты. Далее идет собственно получение SSL-сертификатов.
  5. На вопрос о необходимости использования учётных данных пользователя для запуска задачи
    по обновлению сертификата следует ответить yes, если вы хотите, чтобы это задание выполнялось в автоматическом режиме.
  6. Введем имя пользователя и пароль для входа в Windows Server.
  7. Наконец утилита вернёт нас в своё первоначальное меню, где выберем пункт Q: Quit для выхода из неё.

Готово! Теперь Вы знаете, как выпустить бесплатный SSL-сертификат для веб-сервера Apache на Windows Server®

Проверка и конфигурация Apache

После проведенных работ с утилитой win-acme мы должны увидеть в указанном каталоге C:\Apache24\conf\ssl файлы ключей.

mydomain.ru-chain.pem

mydomain.ru-chain-only.pem

mydomain.ru-crt.pem

mydomain.ru-key.pem

Заглянем в планировщик заданий Windows и проверим стоит ли задача
win-acme renew, которая отвечает за обновление сертификата если его срок истек.

Конфигурация Apache на SSL

После того, как мы убедились, что файлы ключей выпущены
настроем конфигурацию веб-сервера, для этого отредактируем http.conf в директории C:\Apache24\conf\

Раскомментируйте строки:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-default.conf

Include conf/extra/httpd-ssl.conf

И ставим комментарии в следующих строках:

#<IfModule ssl_module>

#SSLRandomSeed startup builtin

#SSLRandomSeed connect builtin

#</IfModule>

Так же укажем наш ServerName

ServerName mydomain.ru

ServerAdmin mypost@mydomain.ru

Сохраним изменения, внесённые в файл httpd.conf, и отредактируем httpd-ssl.conf, находящийся в директории conf\extra\. В нём необходимо откорректировать строки

SSLCertificateFile "${SRVROOT}/conf/server.crt"

SSLCertificateKeyFile "${SRVROOT}/conf/server.key"

приведя их к виду:

SSLCertificateFile "${SRVROOT}/conf/mydomain.ru-chain.pem"

SSLCertificateKeyFile "${SRVROOT}/conf/mydomain.ru-key.pem"

Так же проведем замену:

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

на:

SSLCipherSuite ECDH+AESGCM256:ECDH+CHACHA20:DH+AESGCM256:ECDH+AES256:DH+AES256:!aNULL:!MD5:!DSS

SSLProxyCipherSuite ECDH+AESGCM256:ECDH+CHACHA20:DH+AESGCM256:ECDH+AES256:DH+AES256:!aNULL:!MD5:!DSS

И заменим:

SSLProtocol all -SSLv3

SSLProxyProtocol all -SSLv3

на:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1

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

В заключении настроем перенаправлениея запросов с протокола HTTP на использование безопасного протокола HTTPS.
Для этого перейдем в каталог C:\Apache24\conf\ и в файле httpd.conf раскомментируйте строку:

LoadModule rewrite_module modules/mod_rewrite.so

Также после строк, начинающихся с #LoadModule, добавим:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

Чтобы настройки применились, необходимо перезапустить веб-сервер (Службу Apache24)

18s

2

14:20, 29.09.2021

От степени защищенности сайта зависит доверие пользователей. Фактически, все современные поисковики обращают внимание на это, в том числе и при ранжировании результатов выдачи, поэтому установка SSL-сертификата на Apache крайне важна. Если SSL нет, домен будет помечен как небезопасный. А это прямой путь к потере трафика.

Если вы заказываете сертификат на хостинге, его установка происходит в полуавтоматическом режиме – нужна лишь минимальная настройка, загрузка файла на сервер (чтобы проверить права на домен), а также переадресация с http на https. Однако так бывает не всегда, потому что не у каждого хостера предусмотрена услуга по установке сертификата. В этом материале мы расскажем, как осуществляется установка SSL-сертификата на Apache Ubuntu и Windows. Следуя пошаговой инструкции, вы справитесь с этой задачей буквально за 5 минут.

Что потребуется для установки сертификата SSL

Чтобы установить сертификат на Apache, вам потребуется:

  • приватный ключ, сгенерированный при создании запроса CSR (еще его называют секретным);
  • доступ к серверу Apache, на котором размещается сайт;
  • непосредственно сертификат для домена

Сама процедура установки сертификата не зависит от того, какая CMS используется (Opencart, WordPress или любая другая). Главное, чтобы в настройках CMS было разрешение на использование HTTPS.

Как установить SSL-сертификат на Apache Ubuntu?

Процедура установки SSL для Apache поэтапная и состоит из шести шагов:

  • Приобрести SSL. Можно найти различные по цене и возможностям варианты. Например, EssentialSSL считается одним из наиболее недорогих сертификатов, где предусмотрено только подтверждения существования организации. А EV SSL уже обеспечивает максимальное доверие пользователей, так как указывает на высочайшую надежность.
  • После выпуска сертификата нужно настроить Apache. Для этого требуется сохранить сертификат (промежуточный и основной) вместе с полученным ключом в отдельной папке на веб-сервере.
  • Установить цепочку сертификатов. Для Apache нужно открыть все сертификаты с помощью текстового редактора и скопировать все в один файл, начиная их размещение от промежуточных (Intermediate 3, Intermediate 2, Intermediate 1) и заканчивая корневым – Root Certificate. Важно, чтобы каждый сертификат располагался с новой строки.
  • Полученный файл нужно переместить в ту же папку, где расположены ключ и сертификат для домена.
  • Внести изменения в файл конфигурации для веб-сервера. Для этого необходимо в блоке «Виртуальный хост» и в файле «httpd.conf» добавить несколько строк: SSLEngine on (для разрешения работы SSL), а также путь к файлам секретного ключа, сертификата для домена, цепочки сертификатов. Обратите внимание, что имена файлов и путь их размещения могут отличаться. Обязательно используйте те, которые актуальны в вашем случае.
  • Сохранить файл «httpd.conf» и осуществите перезапуск веб-сервера (apachectl restart).

Установка SSL-сертификата на Apache Windows осуществляется по тому же алгоритму, синтаксис команд аналогичный, что и для ПК под управлением Linux. Однако для переноса файлов с локального компьютера на сервер пригодится программа WinSCP (благодаря ей вы сможете подключиться по SSH и перетащить сертификаты в удаленную директорию).  

Контроль установки

Если вы прошли весь алгоритм в соответствии с инструкцией, окончательным результатом будет успешная установка сертификата на Apache. Чтобы проверить, насколько хорошо все прошло, запустите в браузере веб-сервер, воспользовавшись протоколом HTTPS. При правильной установке в верхней части окна вы заметите появившийся значок замка. Если нажать на эту иконку, то вы увидите сведения о SSL-сертификате, который установлен на сайте.

В том случае, если вы столкнулись с трудностями и не можете самостоятельно решить проблемный вопрос, обратитесь к профессионалам. Опытные специалисты из HostZealot помогут настроить SSL на Apache в кратчайшие сроки.

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

Время на прочтение3 мин

Количество просмотров33K

Данная статья предлагает пошаговую инструкцию по установке сертификата на HTTP сервер Apache. Обратите внимание, что с версии 2.4.8 Apache параметры конфигурации сервера были изменены.

1. Скопируйте файлы сертификатов на ваш сервер.
Вам нужно скопировать на сервер следующие файлы: сертификат сервера, закрытый (приватный) ключ и промежуточный сертификат, соответствующий типу Вашего сертификата сервера.

Сертификат сервера направлялся Вам по электронной почте после его выпуска в GlobalSign. Также Вы можете получить его в своей учётной записи GlobalSign, нажав на кнопку
«Edit» слева от номера заказа и скопировав сертификат в формате PEM.

Закрытый ключ для сертификата создаётся вместе с запросом на сертификат (CSR), поэтому файл закрытого ключа уже может находиться на Вашем сервере. Если приватный ключ утерян, то сертификат нужно перевыпустить.

Промежуточный (intermediate) сертификат, который потребуется установить на сервер, зависит от типа Вашего сертификата. Именно наличие промежуточного сертификата в цепочке позволяет связать Ваш сертификат с корневым (root) сертификатом GlobalSign и сделать цепочку доверенной. Загрузите один или несколько промежуточных сертификатов, соответственно типа Вашего сертификата, по ссылке ниже:
support.globalsign.com/customer/portal/topics/538410-root-certificates/articles

2. Откройте для редактирования конфигурационный файл Apache.
В зависимости от типа операционной системы путь директории конфигурационного
файла может быть разным:

CentOS/RedHat:

/etc/httpd/httpd.conf
/etc/httpd/sites-enabled/name-of-virtualhost.conf 

Debian/Ubuntu:

/etc/apache2/apache2.conf
/etc/apache2/sites-enabled/name-of-virtualhost.conf

Более подробную информацию о пути нахождения конфигурационного файла можно найти по ссылке ниже:
https://wiki.apache.org/httpd/DistrosDefaultLayout

3. Настройте виртуальный хост для работы сертификата.

Найдите раздел VirtualHost и добавьте (или отредактируйте, если они уже имеются) следующие директивы, указав актуальные пути к файлам сертификатов и ключа:

<VirtualHost  xxx.xxx.x.x:443>

                     DocumentRoot  /var/www/examplesite

                     ServerName  example.com  www.example.com
                                       
                     SSLEngine  on

                     SSLCertificateFile   /path/to/examplesite.crt

                     SSLCertificateKeyFile    /path/to/privatekey.key

                     SSLCertificateChainFile    /path/to/intermediate.crt

</VirtualHost>  

Убедитесь в правильности путей SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile, каждый из них должен указывать на соответствующий файл.

Примечание: Начиная с версии Apache 2.4.8, вместо директивы SSLCertificateChainFile следует использовать директиву SSLCertificateFile, которая была расширена для поддержки промежуточных сертификатов. Добавление промежуточного сертификата в конец файла сертификата сервера создаст необходимую доверенную цепочку.

4. Протестируйте созданную конфигурацию сервера.
В зависимости от операционной системы, выполните команду:

apachectl  configtest 

или

apache2ctl   configtest

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

5. Перезапустите сервер Apache.
Для более старых версий дистрибутива Red Hat Enterprise Linux используйте скрипты:

CentOS/RedHat:

service    httpd  restart

Debian/Ubuntu:

service   apache2 restart

Для дистрибутивов Red Hat Linux 7 или CentOS 7.0 используйте следующие команды:

CentOS/RedHat:

systemctl   restart    httpd.service

Debian/Ubuntu:

systemctl   restart   apache2.service

Примечание: некоторые конфигурации Apache могут отображать директиву SSLCACertificateFile.
Данное поле необходимо только, если сервер Apache используется для аутентификации клиента.

Директива SSLCACertificateFile будет указывать на сертификат удостоверяющего центра или директорию сертификатов, которые в свою очередь служат для выпуска сертификатов, принимаемых вами для аутентификации клиента.

Если у вас остались вопросы по установке сертификата GlobalSign на HTTP сервер Apache, пожалуйста, свяжитесь со службой поддержки GlobalSign Russia: support@globalsign.com, тел.: +7 (499) 678 2210

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Do i need windows old
  • Windows server file server cluster
  • Драйвер блютуз для windows 10 amd
  • Services msc windows 7 не запускается
  • Почему вылетает mafia 2 на windows 10