В настоящее время у нас есть один сервер 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