Я пытаюсь настроить stunnel для пересылки с порта (в конечном итоге через https на 443) на порт 8080.
HTTP, обслуживаемый на 8080, уже правильно отображается удаленным браузером.
Я пробовал 4 версии stunnel от 4.42 до 4.55. В Ubuntu 16 и 18.
Вывод программы stunnel:
...
[!] bind: Address already in use (98)
[!] Error binding service [myhttp] to 0.0.0.0:9985
...
stunnel.conf (я что-то упустил? в сети есть разные утверждения, что нужно добавить то или иное):
cert = /etc/letsencrypt/live/<<my-domain>>/cert.pem
key = /etc/letsencrypt/live/<<my-domain>>/privkey.pem
[myhttp]
accept = 9985
connect = 8080
Я пробовал добавлять к портам префикс 127.0.0.1:
или ::1:
. (Это влияет на изменение 0.0.0.0 выше, однако результат тот же.)
Мой брандмауэр:
root@localhost:/home/my# iptables -L -v
Chain INPUT (policy ACCEPT 211 packets, 160K bytes)
pkts bytes target prot opt in out source destination
145 849K ACCEPT all -- lo any anywhere anywhere
8874 1008K ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
248 24754 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http
310 22151 ACCEPT tcp -- any any anywhere anywhere tcp dpt:https
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:9985
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:9986
Если я добавлю в / etc / services:
myhttp 9985/tcp
тогда вывод iptables -L -v
содержит ... tcp dpt:myhttp...
, но все равно 0 принимает.
Если я изменю запись в stunnel.conf на accept = 80
тогда удаленный браузер может получить https-соединение через этот порт и получить страницу, обслуживаемую через порт 8080, и у нее есть символ ssl-lock. Однако использование порта 80 для https не является решением, мне нужен этот порт для обслуживания простого http или направления браузера на https-порт.
Наконец-то это заработало. Мой хостинг-провайдер добавляет еще один брандмауэр за пределами этого сервера, поэтому в дополнение к настройке iptables мне также нужно перейти на веб-сайт провайдера и настроить там параметры брандмауэра (а затем они вступят в силу через несколько минут, так что наберитесь терпения).