Я собираюсь использовать версию nginx с открытым исходным кодом в качестве обратного прокси-сервера с восходящими потоками для безопасного обслуживания файлов с использованием докеров и самоподписанных сертификатов, где я могу запускать скрипт на клиентах и загружать файл. Я могу заставить все это работать, пока я не применю «ssl_verify_client on;», тогда мои попытки curl, wget и powershell завершатся неудачно. Я предполагаю, что почему-то я неправильно генерирую или регистрирую сертификаты, поэтому цепочка доверия сохраняется.
Я снова задросселировал, чтобы увидеть, смогу ли я заставить его работать без апстрима или докера (то есть, попытка задействовать только обратный прокси в виртуальной машине, и те же результаты работают, пока я не сделаю «ssl_verify_client on;»).
Я добавил свой pem в ca-сертификаты на клиенте и выполнил «update-ca-Certificates» (должен ли я делать это на сервере?).
Пример curl (получает «400 Требуемый сертификат SSL не отправлен»): curl -v -s --key client.key --cert client.crt --cacert client.pem https://mysite.dyndns.org/file.txt -o /home/user/Desktop/file.txt
Пытаясь диагностировать проблему, я пробую: "openssl s_client -connect mysite.dyndns.org:443" и получаю: verify error: num = 20: не удалось получить сертификат местного эмитента
Я счастлив опубликовать свой nginx.conf, как я генерирую сертификаты, но, как я понял, сначала спросит:
Возможно ли то, что я пытаюсь сделать? Могут ли curl, wget или powershell работать с самоподписанными сертификатами (в отличие от купленных)?
проблема с использованием dyndns (работает без проверки)?
если похоже, что у меня проблема с генерацией сертификата, может ли кто-нибудь предложить ссылку в качестве инструкции (я пытался https://jamielinux.com/docs/openssl-certificate-authority/ и нате товаров на сайте). "LetsEncrypt" - "правильный ответ"?
Я знаю, что мне может потребоваться опубликовать более подробную информацию об используемых командах / конфигурациях и т. Д. Любая помощь приветствуется. Спасибо!