Назад | Перейти на главную страницу

stunnel может принимать только на порт 80, возможная конфигурация iptables

Я пытаюсь настроить 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 мне также нужно перейти на веб-сайт провайдера и настроить там параметры брандмауэра (а затем они вступят в силу через несколько минут, так что наберитесь терпения).