O stunnel mudou para uma nova interface desde a versão 4, que não é compatível com versões anteriores. mas o debian envia um script de wrapper /usr/bin/stunnel
que se comporta como stunnel-3.x, por cooperar com instalações legadas. Este script wrapper pode fazer as coisas certas se você seguir o caminho antigo, mas quando há algum pequeno erro, o script wrapper não lida com isso, e as mensagens de erro do binário real /usr/bin/stunnel4
aumentam e deixam você confuso.
então não use mais isso. você deve man stunnel4
e executar explicitamente o binário /usr/bin/stunnel4
e usar a nova sintaxe.
para apontar brevemente como as coisas foram diferentes no stunnel 4.xe acima, é que você não pode mais especificar nada na linha de comando. tudo o que você pode fazer e fazer é escrever um arquivo de configuração e colocar o nome do arquivo como único argumento.
agora deixe-me mostrar como escrever um arquivo de configuração.
## this is an INI'ish file
##
foreground = yes
sslVersion = all
pid = ## in most cases it is okay to leave pid empty
##
## above are global options
##
[ service_A ] ## you can have as many as you want service sections
## to listen on different ports , have different keys
## and forward to different destinations
##
client = no ##"client" set to "no" , mean stunnel speaks ssl on
## listening port , and plaintext on the remote side
## while "yes" is the reverse
verify = 0 ## do not check peer certification
cert = /etc/ssl/certs/stunnel.pem
accept = 443
connect = 80
[ another_section ]
...
no entanto, eu não recomendo strongmente que você use stunnel em situações simples como essa. socat é um utilitário muito mais bonito.
socat openssl-listen:443,certificate=a.pem,fork tcp:localhost:80
Além disso, socat é muito doce e afiado e pode fazer uma montanha de outras coisas incríveis. você vai adorar se você tentar.