Имеется:
- Микротик с внешним ип-адресом;
- nginx-proxy + два веб-сервера (всё на одной машине).
nginx-proxy получает HTTPS запрос и разруливает его по портам веб-серверов на 8090 и 8080.
Локально всё работает исправно, обращаемся на сайт1.ру попадаем на веб-сервер с портом 8080, обращаемся на сайт2.ру попадаем на сервер с портом 8090.
Дальше пробуем всё запустить через интернет.
На Микротике пробрасываем порт 443 на nginx-proxy.
Перенастраиваем DNS на внешний ип-адрес.
Прокси работает исправно, сайт1 и сайт2 открываются.
Но, на всех машинах в локальной сети Микротика перестают работать HTTPS сайты.
Моя гипотеза:
- клиент отправляет пакет по порту 443;
- https сайт отвечает на порт 443;
- Микротик адресует его nginx-прокси;
- прокси не вкуривает, почему к ней прилетел трафик и куда его редиректить, потому что домен не запрашивали.
Подскажите, как сделать, чтобы всё работало нормально, и прокси и интернет? :)
Встречал в интернете, что многие так делают и работает. Что очень странно.
Я проверил дважды, на двух разных Микротиках, один из них был в заводских настройках.
Вариантов как минимум 2.
1 - вы криво настраиваете редирект порта СНАРУЖИ на nginx и в него подпадают пакеты изнутри.
2 - вы ломаете какой-то сервис на 443 порту микротика - который как-то обрабатывает пакеты изнутри.