Вопрос или проблема
Я выполнил эти две команды отдельно:
openssl dhparam -dsaparam -out ./certs/dhparam.pem 4096
openssl req -x509 -nodes \
-days 965 -newkey rsa:2048 \
-keyout ./certs/nginx-selfsigned.key -out ./certs/nginx-selfsigned.crt
Я скопировал их на мой NGINX сервер, и когда я запустил NGINX, я получил:
2019/06/12 01:33:47 [warn] 1#1: "ssl_stapling" ignored, issuer certificate not found for certificate
“/etc/ssl/certs/nginx-selfsigned.crt”
nginx: [warn] “ssl_stapling” ignored, issuer certificate not found for certificate “/etc/ssl/certs/nginx-selfsigned.crt”
Кто-нибудь знает, в чем дело? Я не вижу, как это можно избежать?
Это проверка SSL сертификата, так как вы используете самоподписанный сертификат, эта валидация не будет работать.
Ссылки:
- https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04
-
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling
Это не должно мешать вашему веб-серверу работать корректно
С уважением,
Добавляя к @RAAD, ответ заключается в добавлении ssl_stapling off;
и закомментировании ssl_stapling on;
Скорее всего, оно установлено в on
, поскольку по умолчанию установлено off
.
В моем случае я использовал SWAG для сервера unRAID. Я настроил его для использования локального сертификата. Их файл по умолчанию ssl.conf
имел эти 2 строки, которые я закомментировал.
#ssl_stapling on;
#ssl_stapling_verify on;
Ответ или решение
Если вы столкнулись с сообщением об ошибке nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate
, это указывает на проблему с конфигурацией SSL в вашем NGINX-сервере, связанную с использованием самоподписанного сертификата.
Причины возниковенния проблемы:
-
Отсутствие центра сертификации: SSL stapling требует наличие доверенного корневого сертификата. Однако самоподписанный сертификат не связан с центром сертификации, что делает невозможным выполнение этой проверки.
-
Особенности самоподписанных сертификатов: Самоподписанные сертификаты несут в себе ограничение: они не имеют дополнительного уровня доверия от третьей стороны, что и вызывает указанную ошибку при попытке включения ssl_stapling.
Решение:
-
Отключение SSL Stapling: Проще всего решить проблему, отключив функцию ssl_stapling в конфигурации NGINX. Для этого в вашем конфигурационном файле NGINX добавьте строку:
ssl_stapling off;
И, возможно, закомментируйте строку:
# ssl_stapling on; # ssl_stapling_verify on;
-
Использование доверенного сертификата: Если вам необходимо обеспечить большее доверие к вашему серверу, рассмотрите возможность получения сертификата от доверенного центра сертификации. Организации, такие как Let’s Encrypt, предоставляют такие сертификаты бесплатно.
Дополнительные рекомендации:
-
Обновление конфигурации NGINX: Убедитесь, что все изменения в конфигурации NGINX были применены и сервер перезапущен после внесения корректировок. Используйте
nginx -t
для проверки конфигурации перед перезапуском. -
Документация и справка: Основывайтесь на документации NGINX и справочных ресурсах для понимания более детальных аспектов работы SSL и NGINX. Например, официальная документация по ssl_stapling.
Общие знания о конфигурации SSL, понимание потребностей вашего сервера, а также следование современным рекомендациям по безопасности помогут вам не только решить текущую проблему, но и значительно повысить общую защищенность вашего веб-сервера.