Назад | Перейти на главную страницу

Проблемы с сертификатом подстановочного знака ssl в nginx

В настоящее время у нас есть один сервер nginx, работающий в качестве внутреннего прокси для 4-5 серверов Apache. моя проблема в том, что после установки ssl-сертификата я получаю следующую ошибку при тестировании ssl-соединения: openssl s_client -connect xxx.xxxxxxxxx.xxx:443 | Больше

Verify return code: 21 (unable to verify the first certificate)

SSL был куплен через RapidSSL. Конфигурация nginx для ssl-прокси выглядит следующим образом:

server {
        listen 443 ssl;
        server_name _;
        access_log /var/log/nginx/ssl-access.log;
        error_log  /var/log/nginx/ssl-error.log;

        ssl                     on;
        ssl_certificate         ssl/wildcard-xxxxxxx.xx.xx.crt;
        ssl_certificate_key     ssl/wildcard-xxxxxxx.xx.xx.key;
        keepalive_timeout       60;

        location / {
            proxy_pass https://backend;
        }
}

Я могу проверить, что внутренние серверы возвращают ssl-соединение нормально

Verify return code: 0 (ok)

если бы кто-нибудь мог дать мне голову или указал, был бы очень признателен.

Спасибо, Дэвид

RapidSSL не подписывает сертификат напрямую признанным центром сертификации, но использует промежуточный сертификат для подписи сертификатов с подстановочными знаками. Браузер / OpenSSL не имеет промежуточного сертификата в своей цепочке доверия, поэтому он не может проверить сертификат SSL.

Вам необходимо установить промежуточный сертификат в nginx. Получите промежуточный сертификат (он должен быть включен в инструкции по покупке / обслуживанию клиентов) и приложите его к своему сертификату.

 cat /path/to/intermediate.pem >> ssl/wildcard-xxxxxxx.xx.xx.crt