Правила NO_PROXY в curl для доменов и IP-адресов
Проверьте обход прокси в curl: буквальные IP, суффиксы доменов, сети CIDR, пустые списки и шаблон для всех хостов.
NO_PROXY описывает назначения, к которым следует обращаться напрямую. Он не указывает прокси-серверы, которых нужно избегать. Добавление IP самого выбранного прокси не определяет, будет ли посторонний сайт использовать этот прокси.
| Запись | Значение в curl |
|---|---|
example.com | Указанный домен и подходящие поддомены обходят прокси. |
.example.com | Исключение по суффиксу домена, включая сам домен. |
192.168.1.10 | Совпадающий буквальный IP назначения обходит прокси. |
192.168.0.0/16 | Совпадающие назначения с буквальными IP обходят его; поддержка CIDR требует curl 7.86.0 или новее. |
* | Все назначения обходят прокси. |
Пустой список и звёздочка различаются
Для явной проверки прокси пустой список в командной строке убирает совпадения обхода из окружения:
curl --proxy http://203.0.113.10:8080 --noproxy '' \
--connect-timeout 5 --max-time 15 https://example.com/
Замените адрес из документации своим HTTP-прокси или кандидатом из списка HTTP-прокси. Для обратного сравнения шаблон в кавычках делает запрос прямым, хотя параметр прокси присутствует:
curl --proxy http://203.0.113.10:8080 --noproxy '*' \
--connect-timeout 5 --max-time 15 https://example.com/
Оставьте шаблон в кавычках, чтобы оболочка не раскрыла его в имена файлов. Удаление переменной окружения, присвоение ей пустого значения и переопределение в командной строке — разные действия; другая применимая настройка может сохраниться после удаления только одного определения.
CIDR — не правило для любого имени, разрешаемого в эту сеть
Запись CIDR сопоставляется с IP-адресом, используемым как хост назначения. Это не общее указание сначала разрешать каждое имя хоста и обходить прокси, если ответ входит в эту сеть. Поэтому URL с именем хоста и URL с его числовым адресом могут выбирать разные маршруты.
Используйте имена хостов или суффиксы доменов, если URL содержит именно их. Не помещайте в список полную схему, путь или выражение обхода из браузера в расчёте, что curl истолкует их так же.
Эти правила описывают curl 8.14.1. У других клиентов своё поведение NO_PROXY, включая отличия в шаблонах и сопоставлении портов.