У меня есть следующие настройки:
- Кластер Service Fabric, работающий на 5 машинах, с несколькими службами в контейнерах Docker
- Публичный IP-адрес с открытым портом 443 для пересылки в службу, в которой работает Traefik
- Traefik завершает работу SSL и передает запрос службе, запрашиваемой через HTTP
Вот поведение, которое я получаю:
- Первый запрос к https: // очень, очень медленный. Chrome обычно в конечном итоге загружает его после истечения времени ожидания или ошибок «без содержимого». Invoke-WebRequest в Powershell обычно просто останавливается с сообщением «Базовое соединение было закрыто».
- Однако, как только он загрузится, я могу что-то обновить или снова запустить команду, и она отвечает очень и очень быстро. Он будет работать до тех пор, пока на URL-адрес регулярно идет трафик.
- Если я ухожу ненадолго (не уверен в времени, определенно на несколько минут), он умирает и возвращается к началу.
Мой вопрос:
Что могло бы привести к тому, что рукопожатия SSL просто сломались или взялись навсегда? Какой компонент в этом стеке виноват? Время в Service Fabric истекло? Это вещь Трафика? Я мог бы переключиться на Nginx, если он более стабилен. Мы используем те же сертификаты в IIS, и у нас нет этой проблемы.
Я мог бы использовать что-то вроде New Relic, чтобы постоянно посылать пинг каждую минуту, чтобы поддерживать жизнь, но я бы предпочел выяснить, почему соединение исчезает через несколько минут.
Как лучше всего отладить это? Я ничего не вижу в лог-файлах Traefik (в режиме DEBUG), фактически, когда он не подключается, в журналах доступа вообще нет записи о запросе. Какие-нибудь инструменты, которые могли бы помочь отладить это? Спасибо!