Ошибка 407 Proxy Authentication Required
Код 407 отдаёт не сайт, а прокси-сервер между вами и сайтом: он требует авторизоваться, прежде чем пропустить запрос дальше. Исправляется настройкой логина и пароля прокси в браузере, системе или конкретной программе.
Обновлено 23 октября 2026 г.
Что значит код 407
RFC 9110 (раздел 15.5.8): код аналогичен 401, но авторизация нужна на прокси, а не на целевом сервере. Прокси обязан прислать заголовок Proxy-Authenticate со схемой авторизации, а клиент повторяет запрос с заголовком Proxy-Authorization.
HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="corp-proxy"
# повторный запрос клиента
GET http://example.com/ HTTP/1.1
Proxy-Authorization: Basic dXNlcjpwYXNzd29yZA==407 и 401: в чём разница
| 401 Unauthorized | 407 Proxy Authentication Required | |
|---|---|---|
| Кто требует вход | сам сайт или API | прокси между клиентом и сайтом |
| Заголовок с требованием | WWW-Authenticate | Proxy-Authenticate |
| Заголовок с данными | Authorization | Proxy-Authorization |
| Где исправлять | логин на сайте, токен API | настройки прокси в системе или программе |
Почему появляется 407
- в корпоративной сети весь трафик идёт через прокси с авторизацией, а программа не знает логин и пароль;
- пароль от учётной записи сменили, а в настройках прокси остался старый;
- купленный прокси привязан к IP или логину, а запрос идёт без них или с другого адреса;
- в пароле есть спецсимволы (
@,:,#), и он не закодирован в адресе прокси; - консольные утилиты не берут системные настройки прокси и ходят без авторизации.
Как исправить в браузере и Windows
- Проверьте, нужен ли прокси вообще: в Windows откройте «Параметры» → «Сеть и Интернет» → «Прокси». Если прокси включён по ошибке (например, его оставило расширение или VPN), выключите его.
- Если прокси нужен, введите логин и пароль, когда браузер их запросит. В корпоративной сети это обычно доменная учётная запись.
- Очистите сохранённые неверные данные: в Windows — «Диспетчер учётных данных», в браузере — сохранённые пароли для адреса прокси.
- Если ошибка не уходит, уточните у администратора адрес прокси и схему авторизации (Basic, NTLM, Kerberos).
Как исправить в pip, npm, git и curl
Утилиты разработчика обычно читают переменные окружения HTTP_PROXY и HTTPS_PROXY. Логин и пароль передаются прямо в адресе прокси; спецсимволы в пароле нужно закодировать (@ → %40, : → %3A, # → %23).
export HTTP_PROXY="http://user:p%40ssword@proxy.example.com:3128"
export HTTPS_PROXY="$HTTP_PROXY"
export NO_PROXY="localhost,127.0.0.1"pip install requests --proxy http://user:password@proxy.example.com:3128
npm config set proxy http://user:password@proxy.example.com:3128
npm config set https-proxy http://user:password@proxy.example.com:3128
git config --global http.proxy http://user:password@proxy.example.com:3128
curl -x http://proxy.example.com:3128 --proxy-user user:password https://example.com/Пароль в переменных окружения и конфигах хранится открытым текстом и попадает в историю команд. На общих машинах используйте отдельную учётную запись для прокси или локальный прокси-посредник (например, Cntlm для NTLM).
Если 407 видят посетители вашего сайта
Обычный веб-сервер сайта 407 не отдаёт: этот код принадлежит прокси. Если посетители или мониторинг получают 407 при открытии вашего сайта, проблема в промежуточном звене — корпоративном прокси посетителя, прокси самого сервиса проверки или неверно настроенном обратном прокси, который ошибочно требует авторизацию. Проверьте ответ сервера напрямую, минуя прокси, проверкой кода ответа или командой curl -I https://ваш-сайт/.
Частые вопросы
Что значит ошибка 407 Proxy Authentication Required?
Прокси-сервер между вами и сайтом требует авторизации. Укажите логин и пароль прокси в браузере, системе или программе либо отключите прокси, если он не нужен.
Почему pip или npm выдаёт 407, а браузер работает?
Браузер берёт системные настройки прокси и сохранённую авторизацию, а консольные утилиты — нет. Задайте прокси с логином и паролем через HTTP_PROXY/HTTPS_PROXY или в настройках самой утилиты.
Как передать пароль со спецсимволами в адресе прокси?
Закодируйте символы: @ как %40, : как %3A, # как %23. Иначе адрес прокси будет разобран неверно.
Чем 407 отличается от 401?
401 требует войти на самом сайте, 407 — на прокси-сервере между клиентом и сайтом. Заголовки тоже разные: Proxy-Authenticate и Proxy-Authorization вместо WWW-Authenticate и Authorization.