Estou pensando em usar a versão opensource do nginx como um proxy reverso com upstreams para a exibição segura de arquivos usando o docker e certificados auto-assinados em que posso executar um script em clientes e extrair um arquivo. Eu posso fazer tudo funcionar, até aplicar "ssl_verify_client on"; então, minhas tentativas de curl, wget e powershell falharão. Meu palpite é que, de alguma forma, não estou gerando ou registrando os certificados corretamente para que a cadeia de confiança seja mantida.
Limitei o funcionamento para ver se consigo fazer com que funcione sem as upstreams ou a janela de encaixe (ou seja, tentando apenas acionar o proxy reverso em uma VM e os mesmos resultados, até que eu execute "ssl_verify_client on"; ).
Eu adicionei meus pem's aos certificados ca no cliente e fiz "update-ca-certificates" (eu deveria ter feito isso no servidor?).
Exemplo de curl (obtém "400 Nenhum certificado SSL necessário foi enviado"): curl -v -s --key client.key --cert client.crt --cacert client.pem link -o /home/user/Desktop/file.txt
Tentando diagnosticar o problema, eu tento: "openssl s_client -connect mysite.dyndns.org:443" e obtenho: verify error: num = 20: não é possível obter o certificado do emissor local
Estou feliz em postar meu nginx.conf, como estou gerando certificados, mas imaginei inicialmente que:
O que estou tentando fazer é viável? O trabalho de curl, wget ou powershell pode ser executado com certificados auto-assinados (em oposição aos adquiridos)?
é um problema usar dyndns (funciona sem a verificação)?
se parece que eu tenho um problema com a minha geração de certificados, alguém pode sugerir um link como (eu tenho tentado link e site de produtos nate). O "LetsEncrypt" é a "resposta certa"?
Eu sei que posso precisar postar mais detalhes sobre comandos / configs usados etc. Qualquer ajuda apreciada. Thx!