SSL. Делаем защищённый сайт HTTPS

ssl
Если где-то вам придётся покупать SSL сертификат, то там скорее всего будет инструкция по использованию, но даже с инструкцией это головная боль, если не делаешь это каждый день.

Поэтому вот ещё одна шпаргалка.

  1. Сначала ВАМ САМИМ надо сгенерировать ключ и CSR.
    Ключ — это ваш секрет. Его не должен знать никто, даже сертифицирующая организация.
    CSR — Certificate Signing Request — это файл, который вы должны передать сертифицирующей организации
    Генерируется всё это счастье на вашем сервере с использованием OpenSSL
    openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

    Приготовьтесь, программа будет задавать много вопросов про домен и компанию.

  2. Когда CSR-файл сгенерирован, его надо послать сертифицирующей компании. В ответ она должна будет прислать вам готовый сертификат и intermediate-bundle сертификат. Собственно этот сертификат и есть предмет покупки.
  3. В результате у вас на руках должны быть 3 файла: ключ, сертификат сайта и intermediate-bundle сертификат. Пути к этим файлам надо прописать в конфигах апача.
    Apache Version < 2.4.8
    Directive Path to Enter
    SSLCertificateFile Certificate file path
    SSLCertificateKeyFile Key file path
    SSLCertificateChainFile Intermediate bundle path
    Apache Version 2.4.8+
    Directive Path to Enter
    SSLCertificateFile Certificate file path
    SSLCertificateKeyFile Key file path
    SSLCACertificatePath Intermediate bundle path
  4. S
    Ну и перезагрузить апач после изменения конфигов.

    В результате у вас должен подняться нормальный HTTPS сайт.

  5. Напоследок я бы сделал принудительный редирект с 80 порта (HTTP) на 443(HTTPS).
    Легче всего сделать это в .htaccess

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

Всё! Готово!

SSL. Делаем защищённый сайт HTTPS: 4 комментария

  1. SunChaser

    1) У большинства уц есть возможность сгенерить ключ на серваке с нуля
    2) У многих уц есть программы-генераторы сертификатов — как у популярной ныне бесплатной Let’s Encrypt, так и у платных

    И вообще, на let’s encrypt стоит обратить внимание, там получение сертификатов вообще можно автоматизировать и забыть

  2. altesack Автор записи

    Прикольно.. А по поводу let’s encrypt — если сертификат легко может получить кто угодно — в чём смысл? Тупо шифрование?

  3. Уведомление: AWS. Как я поднимал сервер Ubuntu | Блог о CMS

  4. SunChaser

    Ну да. Вообще не кто угодно, а тот, кто сможет доказать, что A-записи ведут к нему
    В принципе смысл сертификатов без EV это по большей части именно только шифрование

Комментарии запрещены.