VPN-клиенты и прокси (например, HappProxy) могут перехватывать локальные запросы Gradio к 127.0.0.1, направляя их во внешний туннель. Поскольку у прокси нет доступа к вашему порту, возникает ошибка 503 Service Unavailable или Connection Refused.
Решение: Переменная NO_PROXY
Чтобы направить локальный трафик в обход прокси-сервера, установите переменные окружения NO_PROXY и no_proxy.
1. Через Batch-файл (.bat)
Добавьте эти строки перед запуском основного скрипта:
@echo off
set NO_PROXY=localhost,127.0.0.1,::1
set no_proxy=localhost,127.0.0.1,::1
python main.py
pause
2. Через файл конфигурации (.env)
Если проект использует python-dotenv, добавьте в .env:
NO_PROXY="localhost,127.0.0.1,::1"
no_proxy="localhost,127.0.0.1,::1"
3. Программно в Python
Добавьте в начало .py файла до импорта сетевых библиотек:
import os
os.environ["NO_PROXY"] = "localhost,127.0.0.1,::1"
os.environ["no_proxy"] = "localhost,127.0.0.1,::1"
Принцип работы
Сетевые библиотеки Python автоматически проверяют NO_PROXY. Если целевой адрес есть в списке, запрос идет напрямую, минуя прокси.
Примечание:
::1— это локальный адрес IPv6, его важно указывать для предотвращения конфликтов в современных ОС.