Ошибка 407 прокси: что значит и как исправить авторизацию
Ошибка 407 прокси значит, что сервер не принял логин и пароль. Разбираем причины и исправление в браузере, Windows, curl, Python и Git.
Ошибка 407: прокси требует авторизацию
Ошибка 407 прокси появляется, когда прокси-сервер получил ваш запрос, но не пропустил его дальше: он ждёт имя пользователя и пароль и не получил их или получил неверные. Сайт тут ни при чём, ответ формирует сам сервер. Чаще всего виновато одно из четырёх: опечатка в учётных данных, неверный формат строки подключения, программа не умеет нужную схему аутентификации или ваш IP не в белом списке.
Что означает ошибка 407 Proxy Authentication Required
Стандарт HTTP (RFC 9110, раздел 15.5.8) описывает этот ответ так: клиент должен пройти проверку подлинности на прокси, прежде чем запрос уйдёт к сайту. Вместе с ответом сервер обязан прислать заголовок Proxy-Authenticate, где перечислены схемы входа, которые он принимает. Клиент повторяет запрос и добавляет заголовок Proxy-Authorization со своими данными аутентификации. Если данные подошли, открывается страница, если нет, сервер снова возвращает 407.
В программах эта же ситуация выглядит по-разному. Браузер показывает окно входа, утилиты и скрипты пишут HTTP Error 407, Error 407 или 407 error в зависимости от формата журнала, приложения на .NET выбрасывают исключение «The remote server returned an error: (407) Proxy Authentication Required». Смысл везде одинаковый: вход не прошёл.
Чем 407 отличается от 401 и 403
Среди ошибок прокси эти три путают чаще всего. Разница в том, кто требует пароль и что именно не так.
Ответ | Кто отвечает | Что значит |
|---|---|---|
401 Unauthorized | сайт | нужен вход на сам сайт |
407 | прокси | нужен вход на прокси-сервер |
403 Forbidden | сайт или прокси | вход не поможет: доступ запрещён правилами |
Если вы видите 407, бесполезно чистить cookies сайта или менять браузер наугад. Чинить нужно связку «программа — прокси».
Как устроена аутентификация на прокси
Схема входа зависит от того, как настроен сервер. Самые частые варианты:
Basic — имя пользователя и пароль склеиваются в строку
user:passwordи переводятся в Base64. Это просто запись в другом виде, а не шифрование, поэтому такие данные лучше передавать через защищённое соединение.NTLM и Negotiate применяются в корпоративных сетях Windows. Вместо пары «имя:пароль» клиент проходит обмен вопросами и ответами с сервером, часто с данными текущей учётной записи.
Когда сервер ждёт NTLM, а программа умеет только Basic, ошибка 407 повторяется при любом пароле. Какие схемы принимает сервер, видно в том самом заголовке ответа. Как его посмотреть, показано ниже, в разделе про curl.
Без пароля доступ открывают через белый список IP. Вы заранее добавляете свой внешний IP, и сервер пропускает всё, что с него приходит. Когда IP меняется (переподключили роутер, сменили сеть), сервер часто отвечает тем же 407, а некоторые просто обрывают соединение.
Причины ошибки 407
Большинство ошибок такого рода сводится к семи причинам.
Опечатка в имени пользователя или пароле, лишний пробел при копировании, неверный регистр.
Учётные данные устарели: тариф закончился, пароль сменили в кабинете провайдера.
Ваш IP не в белом списке, а логин и пароль не заданы.
В пароле есть символы
@,:,/или#, и программа неправильно разобрала строку видаhttp://user:pass@host:port.Прокси ждёт NTLM или Negotiate, а клиент отправляет Basic или не отправляет ничего.
Перепутан протокол: SOCKS5 вписан как HTTP-прокси или наоборот.
Программа берёт системные параметры, а учётные данные туда не передаются.
Как исправить ошибку 407 пошагово
Скопируйте адрес, порт, логин и пароль заново из личного кабинета или от администратора. Вставьте без пробелов по краям.
Сверьте тип прокси. HTTP и HTTPS-прокси проверяют вход через заголовки, у SOCKS5 своя проверка имени и пароля.
Если доступ настроен по белому списку, узнайте свой текущий IP на странице проверки IP и сравните с тем, что добавлен в кабинете.
Проверьте сам прокси отдельно от программы: через чекер прокси или командой curl из раздела ниже. Если там всё работает, а в программе нет, ищите причину в её параметрах.
Если в пароле есть спецсимволы, закодируйте их:
@→%40,:→%3A,/→%2F,#→%23. Другой вариант — передать логин и пароль отдельными полями, а не внутри строки подключения.В корпоративной сети спросите администратора, какую схему аутентификации требует прокси, и включите её в программе.
Не помогло — напишите в поддержку провайдера и приложите текст ошибки: по нему быстрее понять, на каком шаге срывается вход.
Ошибка 407 в браузере и Windows
Chrome на Windows берёт параметры прокси из системы. Когда прокси требует вход, браузер показывает окно с полями для имени пользователя и пароля. Закрыли окно или ввели неверные данные — получите ошибку. Есть ограничение, описанное в документации Chromium: Chrome не поддерживает SOCKS5 с логином и паролем. С таким прокси в Chrome подключайтесь по HTTP или открывайте доступ по IP.
Firefox берёт прокси из системы или из собственных параметров соединения и тоже выводит окно входа на прокси. Если оно появляется снова и снова, проверьте, не сохранён ли в браузере старый пароль, и удалите эту запись.
Windows. Ручные настройки прокси в Windows 11 находятся в разделе «Параметры» → «Сеть и Интернет» → «Прокси-сервер». Там задаются сервер, порт и исключения, но полей для логина и пароля нет: учётные данные запрашивает каждое приложение само. Поэтому бывает так, что одна программа работает, а другая получает 407: она просто не умеет показать окно входа.
Ошибка 407 в curl, Python и Git
curl
Проверка прокси с логином и паролем:
curl -x http://203.0.113.5:8080 -U 'user:password' https://example.com/Ключ -x задаёт прокси, ключ -U передаёт имя и пароль. Чтобы увидеть, какую схему просит сервер, добавьте -v. В выводе будет строка с ответом 407 Proxy Authentication Required и заголовок со списком схем.
Если там NTLM, добавьте ключ --proxy-ntlm, но только в curl до версии 8.24.0: в ней поддержку NTLM убрали. Для Negotiate есть ключ --proxy-negotiate, а в Windows-сборке curl с поддержкой SSPI можно указать -U :, тогда curl возьмёт данные текущего пользователя Windows.
Python requests
from urllib.parse import quote
import requests
user = quote("user", safe="")
password = quote("p@ss:word", safe="")
url = f"http://{user}:{password}@203.0.113.5:8080"
r = requests.get("https://example.com/", proxies={"http": url, "https": url}, timeout=30)
print(r.status_code)Функция quote кодирует спецсимволы: без неё пароль с @ ломает строку подключения. Схему NTLM библиотека requests сама не поддерживает, для неё нужны отдельные пакеты.
Git
git config --global http.proxy http://user:password@203.0.113.5:8080Команда пишет параметр в глобальный конфиг Git. Пароль там хранится открытым текстом в файле конфигурации, учитывайте это на общем компьютере.
Что видите → причина → что делать
Сводка типичных ошибок: что показывает программа (окно входа, HTTP Error 407 в журнале и т. п.), откуда это берётся и как исправить.
Что видите | Вероятная причина | Что сделать |
|---|---|---|
Окно входа появляется снова после ввода пароля | неверные учётные данные, старая сохранённая запись | ввести данные заново, удалить сохранённый пароль |
HTTP Error 407 при любом пароле | сервер ждёт NTLM или Negotiate | включить нужную схему в программе |
Перестало работать после смены сети | IP не в белом списке | добавить новый IP в кабинете |
curl работает, программа нет | программа не передаёт данные аутентификации | задать имя и пароль в её параметрах |
SOCKS5 с паролем не работает только в Chrome | Chrome не поддерживает SOCKS5 с паролем | подключение по HTTP или вход по IP |
Частые вопросы
Ошибка 407 Proxy Authentication Required — это проблема сайта? Нет. Ответ возвращает прокси-сервер, до сайта запрос даже не дошёл.
Почему прокси работает в одной программе и не работает в другой? Программы по-разному передают учётные данные. Одна показывает окно входа, другая берёт только системные параметры, где пароля нет, третья не умеет NTLM.
Как понять, какая схема входа нужна? Выполните curl с ключом -v через этот прокси и найдите в ответе заголовок со списком схем: там перечислено всё, что принимает сервер.
Что делать, если в пароле есть символ @? Закодируйте его как %40 в строке подключения или передайте имя и пароль отдельными полями программы.
Можно ли обойтись без логина и пароля? Да, если провайдер поддерживает белый список IP. При каждой смене внешнего IP список придётся обновлять.
Что значит HTTP Error 407 в логе программы? Это тот же отказ во входе, просто программа записала его в журнал. Код ошибки и короткое сообщение — всё, что она получила от сервера, поэтому разбирайтесь по списку причин выше.
Ошибка 407 значит, что меня заблокировали? Обычно нет. О запрете доступа чаще говорит 403, а 407 сообщает только о том, что вход на прокси не прошёл. Как правило, хватает ввести правильные имя и пароль или обновить белый список.
Если прокси от Ultra Proxy
В Ultra Proxy на всех тарифах доступны HTTP, HTTPS и SOCKS5, вход по логину и паролю или по белому списку до трёх IP. Данные для подключения появляются в личном кабинете сразу после оплаты. Если ошибка 407 не уходит после проверки по шагам выше, напишите в поддержку через раздел «Помощь» или на support@ultraproxy.io: ИИ-бот отвечает круглосуточно, специалисты — с 10:00 до 00:00 по Москве.