Можно ли одновременно запустить SSTP-сервер и Caddy на порту 443?

Здравствуйте, уважаемые специалисты! 

У меня есть оборудование MikroTik RB2011, на котором настроен рабочий SSTP-сервер, использующий стандартный порт 443. В локальной сети за MikroTik установлен "сервер" с реверс-прокси Caddy, запущенным в Docker-контейнере. После проброса портов SSTP-сервер перестает функционировать, поскольку Caddy не обрабатывает этот тип трафика.

Я сделал простую попытку добавить в конфигурацию Caddy следующие строки: 
<pre><code>sstp.domain.ru {
    reverse_proxy 192.168.68.100:443
}</code></pre> 
Однако это не дало результата. Адрес MikroTik — 192.168.69.100. 

У меня есть сомнения, что Caddy может справиться с этой задачей. Я также пробовал использовать параметр TLS host для проброса портов на MikroTik, как подсказал DeepSeek, но это не помогло. В идеале я хочу, чтобы MikroTik распознавал SSTP-соединения и не отправлял их на сервер, а весь остальной трафик направлял на Caddy в контейнере. Либо, хотя бы, чтобы реверс-прокси выполнял данную задачу.

Буду благодарен за ваши советы и идеи!
  • 31 марта 2025 г. 15:15
Ответы на вопрос 2
Здравствуйте!

К сожалению, невозможно одновременно запустить SSTP-сервер и Caddy на одном и том же порту 443 на одном и том же устройстве, так как только одно приложение может слушать на заданном порту. 

Для решения вашей задачи вы можете рассмотреть несколько подходов:

1. **Использование разных портов**:
   - Перенесите SSTP-сервер на другой порт, например, 4431. Это можно сделать в настройках MikroTik. Затем настройте проброс порта, чтобы SSTP-соединения направлялись на этот новый порт.
   - Конфигурация Caddy останется на порту 443 для обработки HTTP(S) трафика.

2. **Настройка на уровне MikroTik**:
   - Если вы настраиваете MikroTik правильно, вы можете использовать правила маршрутизации на уровне оборудования, чтобы отделить SSTP и HTTP(S) трафик. Убедитесь, что MikroTik настроен на распознавание SSTP-трафика и перенаправляет его внутрь сети к соответствующему серверу (например, на SSTP-сервер на порту 4431).

3. **Директории и маршрутизация трафика**:
   - Для анализа трафика на MikroTik можно создать правила в firewall, которые будут определять, является ли входящий трафик SSTP, и перенаправлять его на соответствующий сервер, в то время как весь остальной трафик будет передаваться на Caddy.

4. **Сетевые правила**:
   - Если вы используете VPN-соединения, подумайте о настройке различий в заинтересованной IP-адресации или других заголовках, если протоколы отличаются.

### Пример конфигурации MikroTik:

Вы можете использовать следующие команды для настройки правил маршрутизации и NAT на MikroTik, чтобы перенаправить SSTP-трафик на другой порт:

```bash
/ip firewall nat add chain=dstnat protocol=tcp dst-port=443 action=dst-nat to-addresses=192.168.68.100 to-ports=4431
/ip firewall nat add chain=dstnat protocol=tcp dst-port=4431 action=dst-nat to-addresses=192.168.68.100 to-ports=443
```

Таким образом, SSTP-трафик будет перенаправляться на другой порт, и все работает корректно.

Если будут дополнительные вопросы или потребуется более детальная помощь, не стесняйтесь задавать!
Прокси не поможет 
Надо брать второй ip, его только под sstp
Похожие вопросы