Tag Archives: Ssl

Правильное подключение ssl сертификата на сайт.

Недавно столкнулся с такой проблемой, что у меня с браузером ФФ 25 сайт по https открывается без проблем, а у нескольких коллег выдает предупреждение о недоверенном сертификате. При чем в остальных браузерах у всех все было нормально.

В итоге проблема оказалась в том, что сертификат был подписан промежуточным центром сертификации, который был не во всех браузерах. Для решения этой проблемы нужно всего лишь слить содержимое файла *.crt и *.ca-bundle (которые выдаются обычно вместе).

Сделать это можно примерно такой командой:

cat www.example.com.crt bundle.crt > www.example.com.chained.crt

И затем прописываем в конфигурации этот файл:

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.chained.crt;
    ssl_certificate_key www.example.com.key;
    ...
}

Еще одной новой фишкой nginx стала возможность задать в одной секции server настройки как для http так и для httpS. Это можно делать указанием слова ssl в строке listen. Для этого порта затем будет использовать ssl. И это избавляет от необходимости дублировать конфиг если у вас сайт доступен по обеим портам.

Пример конфига с работой по 80 (http) и 443 (https) портам:

server {
    listen              80;
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.chained.crt;
    ssl_certificate_key www.example.com.key;
    ...
}

//На самом деле эту информацию конечно же можно найти на официальном сайте (документация). Пишу здесь просто что бы предостеречь от ошибки, когда firefox выдает ошибку сертификата:

*****.com использует недействительный сертификат безопасности. К сертификату нет доверия, так как отсутствует цепочка сертификатов издателя. (Код ошибки: sec_error_unknown_issuer)