Знайдіть останню завершену операцію в докладному виводі curl. «Підключено до проксі, але немає відповіді CONNECT» звужує коло причин значно краще, ніж «тайм-аут проксі».

Використайте запит із часовими обмеженнями, замінивши локальний приклад своїм HTTP-проксі; у списку HTTP-проксі можна знайти інші кінцеві точки для порівняння:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

--connect-timeout 5 надає встановленню з’єднання єдиний часовий бюджет, включно з потрібними пошуками й рукостисканнями; кожен етап не отримує окремих п’яти секунд. --max-time 15 обмежує всю операцію, зокрема передачу після встановлення з’єднання.

Де зупиняється виконанняЩо перевірити далі
Немає з’єднання з проксіРозв’язання імені проксі, порт прослуховування, маршрутизацію та правила міжмережевого екрана.
Проксі підключено; немає відповіді щодо тунелюНавантаження проксі, узгодження автентифікації, політику доступу та досяжність призначення з проксі.
Тунель прийнято; TLS не завершеноДосяжність призначення, узгодження TLS і кероване перехоплення трафіку.
Заголовки призначення надійшли; тіло зупинилосяПоведінку передачі сервера походження, буферизацію посередниками та можливе навмисне мовчання застосунку.

Порядок рукостискань пояснює стаття як CONNECT переносить HTTPS. Зупинка поблизу бюджету з’єднання вказує на встановлення; пізніша зупинка на загальній межі — на незавершену передачу. Розглядайте послідовність разом із часом: сам час не визначає компонент. Формулювання журналів різняться між збірками curl, а відкритий TCP-порт не доводить працездатність CONNECT.

Залиште один бік незмінним

Порівняйте те саме призначення через дозволений прямий маршрут:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Потім порівняйте інше нешкідливе призначення через той самий проксі. Якщо збій лише в одного, дослідіть його маршрут або політику доступу. Якщо всі зупиняються на одному етапі встановлення, перевірте спільний шлях через проксі. Збережіть час початку, кінцеву точку, призначення й останній завершений етап; перед поширенням журналів видаліть облікові дані, токени, cookie та приватні імена.

Коли з’єднання відкрите, але корисного поступу немає

Передачі файлу може знадобитися поріг низької швидкості на додачу до меж встановлення й загальної тривалості:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/

Це перериває операцію, якщо стала швидкість передачі залишається нижчою за 100 байтів на секунду протягом 20 секунд, зберігаючи загальну межу 60 секунд. Обирайте значення відповідно до навантаження. Потік подій може бути справним під час довгих тихих періодів, тому правило завантаження здатне помилково його перервати.

Підвищення всіх меж відкладає симптом. Негайні повторні спроби можуть додати з’єднань до перевантаженого шляху. Діагностуйте кількома продуманими порівняннями; подальша політика повторів застосунку потребує власного загального часового бюджету й оцінки безпеки повторення операції.

Схожі статті