С версии 4 stunnel изменил себя на новый интерфейс, который не имеет обратной совместимости. но debian поставляет скрипт-обертку, /usr/bin/stunnel
который ведет себя так, как будто это был stunnel-3.x, для взаимодействия с устаревшими установками. этот скрипт-обертка может делать правильные вещи, если вы следуете старому пути, но когда есть какая-то небольшая ошибка, скрипт-обертка не обрабатывает ее, и сообщения об ошибках из реального двоичного кода /usr/bin/stunnel4
наталкивают вас и сбивают вас с толку.
так что никогда не используйте это больше. Вы должны man stunnel4
и явно запустить /usr/bin/stunnel4
двоичный файл, и использовать новый синтаксис.
Чтобы кратко указать, как все изменилось в Stunnel 4.x и выше, это то, что вы больше не можете ничего указывать в командной строке. все, что вы можете сделать и сделать, это написать файл конфигурации и указать имя файла в качестве единственного аргумента.
Теперь позвольте мне показать вам, как написать такой файл конфигурации.
## 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 ] ...
однако я настоятельно не рекомендую вам использовать stunnel в таких простых ситуациях, как эта. Сокат - гораздо более полезная утилита.
socat openssl-listen:443,certificate=a.pem,fork tcp:localhost:80
кроме того, сокат очень милый и острый и может делать множество других удивительных вещей. вам обязательно понравится, если вы попробуете.