Как настроить SSL CRT на моем сервере Apache2?

Самое простое решение, которое я нашел, сделав это с помощью нескольких телефонов, - это просто экспортировать свои контакты в vcard с помощью вашего текущего устройства, а затем отправить его по электронной почте. Затем установите Dekko на устройство Ubuntu Touch, получите электронное письмо и откройте вложение - он будет автоматически импортирован. Никакой терминал не требуется, и требуется только один раз после установки Dekko.

5
задан 20 October 2011 в 09:56

1 ответ

Это зависит. Скорее всего, вы захотите добавить эти строки в файл VirtualHost. Я буду использовать значение по умолчанию в качестве примера, но вы, вероятно, определите несколько VirtualHosts (они обычно находятся в каталоге /etc/apache2/site-available/).

Однако сначала вам необходимо установить SSL-сертификаты. Как правило, вы можете поместить файл .crt (или файл сертификата, если он не заканчивается на .crt) в каталоге /etc/ssl/certs/. Затем скопируйте файл .key в каталог /etc/ssl/private/. Убедитесь, что файл .key не имеет других читаемых разрешений, так как это может привести к эксплойту. Напоминаем, что это только сайты SSL-сертификатов по умолчанию, вы можете поместить их куда угодно, я видел, что некоторые установки используют /etc/apache2/ssl для сваливания файлов CRT и KEY.

Для фактической настройки сайта SSL в Apache вы захотите скопировать VirtualHost сайта и отредактировать несколько строк, чтобы он корректно работал с SSL. В этом примере я продолжу использовать настройку по умолчанию, но заменим default на любой файл VirtualHost, который вы редактируете.

Итак, для сайта по умолчанию вы скопируете файл /etc/apache2/sites-available/default, например поэтому:

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl

Затем отредактируйте новый файл default-ssl. Сначала измените первую строку, <VirtualHost ..., от :80 до :443, чтобы она выглядела так:

<VirtualHost *:443>

Вероятно, * должен быть IP-адресом для которого Apache слушает для этого сайта. Он все равно может быть звездочкой, которая является подстановочным знаком, но это может вызвать проблемы при наличии нескольких сертификатов SSL на нескольких сайтах. Когда это будет обновлено в нижней части файла, чуть выше строки </VirtualHost>, добавьте следующее:

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/<yourssl>.crt
    SSLCertificateKeyFile /etc/ssl/private/<yourssl>.key
    SSLCertificateChainFile /etc/ssl/certs/<yourssl>.crt

После того, как вы это сделали, вам нужно включить свой сайт. Выполните следующие команды, чтобы включить mod_ssl, новый VirtualHost, который вы создали, и перезапустите Apache.

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart

Теперь, когда вы переходите на сайт через https: //, вы должны иметь возможность успешно подключиться!

6
ответ дан 25 May 2018 в 17:55
  • 1
    Я использую VirtualHost ... Поэтому я изменяю файл default-ssl, как вы сказали ... Но как насчет файла с конфигурацией самого сайта ... – jnbdz 19 October 2011 в 13:53
  • 2
    Только один из этих сайтов будет использовать HTTPS ... – jnbdz 19 October 2011 в 13:53
  • 3
    Вам необходимо настроить новое определение VirtualHost, которое является только копией текущего VirtualHost, за исключением нескольких изменений, описанных в вышеприведенном сообщении. Таким образом, HostName, DocumentRoot, все остальные настройки остаются такими же, как и текущий VirtualHost – Marco Ceppi♦ 19 October 2011 в 16:39
  • 4
    Проблема: теперь, когда я набираю адрес с помощью https, я получаю список всех моих vhosts ... – jnbdz 20 October 2011 в 09:42
  • 5
    Также у меня есть .csr, что мне с ним делать? – jnbdz 20 October 2011 в 09:44

Другие вопросы по тегам:

Похожие вопросы: