Заметки

Не работает Gemini в России: почему и что делать

M
Markabus
·28 августа 2026 г.
Рабочий стол разработчика в тёмной комнате: на экране ноутбука терминал с красной ошибкой неудавшегося запроса, рядом второй монитор с кодом, роутер с индикаторами и моток сетевого кабеля

Вы копируете пример из документации, запускаете код — и вместо ответа модели получаете 400 FAILED_PRECONDITION с формулировкой «User location is not supported for the API use». Или на сайте Google AI Studio вместо кнопки «Get API key» видите заглушку. Ничего не сломалось: Google просто не открывает Gemini для России. Разберём, как отличить гео-ограничение от других ошибок, почему обычный VPN на компьютере не спасает продакшен и как сделать рабочее решение — собственный прокси на зарубежном сервере.

Как выглядит проблема: три разных симптома

Под фразой «не работает Gemini» скрываются три разные ситуации. Полезно понять, с какой вы столкнулись.

Не открывается чат или AI Studio

Веб-интерфейс Google AI Studio и приложение Gemini отдают сообщение о недоступности сервиса в вашей стране. Это самый очевидный случай: блокировка на уровне браузера, по IP-адресу вашего провайдера.

Не создаётся API-ключ

Аккаунт Google есть, войти получается, но страница выдачи ключа не даёт его выпустить. Ключ выдаётся через AI Studio, а сама студия закрыта для региона — значит, закрыта и выдача ключа.

Код падает с ошибкой 400

Самый неприятный вариант: ключ у вас уже есть (получили через VPN или вам его передали), но запросы из кода возвращают:

{
  "error": {
    "code": 400,
    "message": "User location is not supported for the API use.",
    "status": "FAILED_PRECONDITION"
  }
}

Иногда формулировка другая — «This API is not available in your current location». Смысл тот же. Обратите внимание: это не 401 (неверный ключ), не 403 (нет прав) и не 429 (превышен лимит). Именно FAILED_PRECONDITION — маркер географии, а не проблем с ключом. Если вы видите 429, читайте другую заметку — про токены и лимиты.

Почему так происходит

Gemini API и AI Studio доступны примерно в 195 странах и территориях — официальный список Google публикует на странице available regions. России в этом списке нет, и это не временный сбой, а осознанное ограничение.

Ключевой момент, который многие упускают: регион определяется по IP-адресу, с которого пришёл запрос, а не по стране аккаунта Google, не по платёжным данным и не по языку интерфейса. Google смотрит на исходящий адрес соединения — и если он относится к неподдерживаемой стране, запрос отклоняется на входе, ещё до проверки ключа.

Отсюда следует практическое правило: чтобы Gemini работал, из поддерживаемого региона должна выходить та машина, которая делает HTTP-запрос. Не ваш браузер. Не ваш ноутбук. Именно тот процесс, который обращается к generativelanguage.googleapis.com.

Почему VPN на компьютере не решает задачу

VPN-клиент на рабочей машине действительно открывает AI Studio и позволяет выпустить ключ — на этом его польза заканчивается. Как только код уезжает на боевой сервер, картина меняется:

  • Запрос уходит не с вашего компьютера. Плагин WordPress, cron-скрипт, бэкенд бота, сценарий n8n — всё это работает на сервере со своим IP. Ваш VPN на него не распространяется.
  • Хостинг чаще всего российский. Даже если сервер зарубежный, VPN на нём нужно поднимать и поддерживать отдельно — это тот же прокси, только более хрупкий.
  • Дата-центровые IP тоже блокируются. Google отказывает не только по стране: разработчики регулярно ловят ту же ошибку с Cloudflare Workers и с серверов в формально поддерживаемых странах, если адрес принадлежит пулу хостинг-провайдера с плохой репутацией. То есть «арендовал VPS в Германии» — ещё не гарантия, IP нужно проверять.
  • Бесплатные VPN-сервисы непредсказуемы. Выходной узел меняется, страна плавает, запросы начинают падать через раз — и вы получаете плавающие ошибки в продакшене вместо стабильного отказа.

Три пути решения

Вариантов по сути три, и выбирать стоит по тому, насколько Gemini критичен именно вам.

Путь 1. Отказаться от Gemini

Самое честное решение, если вы не привязаны к конкретной модели. Claude и OpenAI работают из России без гео-блокировки уровня API (вопрос упирается только в оплату), а по цене и качеству разница часто некритична — мы сравнивали их в заметке про API Gemini, Claude и OpenAI. Второй вариант — поднять локальную модель через Ollama: для классификации заявок, разбора документов и подобной рутины этого хватает, а гео-ограничений там нет по определению.

Путь 2. Vertex AI

Vertex AI — корпоративная платформа Google Cloud, где те же модели Gemini доступны через другой интерфейс и с региональными эндпоинтами. Формально это легальный способ получить доступ, но упирается он в Google Cloud: нужен проект с подключённым биллингом и работающая иностранная карта. Для российской компании это отдельная и обычно более тяжёлая задача, чем аренда сервера.

Путь 3. Свой обратный прокси

Рабочее решение для большинства случаев: маленький сервер в поддерживаемом регионе, который принимает ваши запросы и переадресует их в Google. Ваш код ходит на свой домен, Google видит IP европейского дата-центра. Дальше — по шагам.

Прокси на своём VPS: пошагово

Шаг 1. Сервер и проверка IP

Подойдёт самый дешёвый VPS в Германии, Нидерландах или Финляндии — нагрузка тут копеечная, весь трафик это проброс запросов. Сразу после установки подключитесь по SSH и проверьте, как выглядит адрес снаружи:

curl -s https://ipinfo.io/country

Должен вернуться код поддерживаемой страны, например DE. Затем сразу проверьте главное — пускает ли Google:

curl -s -o /dev/null -w "%{http_code}\n" \
  "https://generativelanguage.googleapis.com/v1beta/models?key=ВАШ_КЛЮЧ"

200 — можно продолжать. Если снова 400, дело в конкретном IP: просите у провайдера другой адрес или берите другого провайдера. Эту проверку стоит делать до того, как вы настроите всё остальное.

Шаг 2. Домен и nginx

Направьте A-запись поддомена (например, gemini.example.com) на IP сервера, поставьте nginx и получите сертификат через certbot. Конфигурация прокси минимальна:

server {
    listen 443 ssl;
    http2 on;
    server_name gemini.example.com;

    ssl_certificate     /etc/letsencrypt/live/gemini.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/gemini.example.com/privkey.pem;

    location / {
        # простая защита: свой заголовок-пароль
        if ($http_x_proxy_token != "ДЛИННАЯ_СЛУЧАЙНАЯ_СТРОКА") {
            return 403;
        }

        proxy_pass https://generativelanguage.googleapis.com;
        proxy_set_header Host generativelanguage.googleapis.com;
        proxy_ssl_server_name on;

        proxy_http_version 1.1;
        proxy_buffering off;      # иначе сломается стриминг ответа
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
        client_max_body_size 50m; # запас на картинки и аудио
    }
}

Две строки здесь принципиальны. proxy_ssl_server_name on — без неё Google не поймёт, какой сертификат отдавать, и соединение оборвётся. proxy_buffering off — без неё стриминг ответов превратится в долгую паузу и разом выпавший текст.

Шаг 3. Переключить код на прокси

Менять логику не нужно — достаточно подставить свой базовый URL вместо гугловского. В официальном SDK для Python:

from google import genai

client = genai.Client(
    api_key=os.environ["GEMINI_API_KEY"],
    http_options={
        "base_url": "https://gemini.example.com",
        "headers": {"x-proxy-token": os.environ["PROXY_TOKEN"]},
    },
)

Проверить всё целиком можно одним curl:

curl -s "https://gemini.example.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "x-proxy-token: $PROXY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Привет"}]}]}'

Пришёл текст ответа — прокси работает. Как получить сам ключ и что с ним делать дальше, разбирали в заметке про Gemini API и первый запрос.

Грабли, о которых стоит знать заранее

  • Открытый прокси найдут. Эндпоинт без защиты за пару недель обнаружат сканеры и начнут гонять через него чужой трафик — на ваших лимитах и вашем счёте. Заголовок-пароль из примера — минимум; лучше добавить ограничение по IP и limit_req.
  • Ключ не должен попадать в браузер. Прокси не отменяет базового правила: ключ живёт на сервере, фронтенд ходит на ваш бэкенд, а не напрямую в Google.
  • Через прокси идут ваши данные. Все промпты и ответы проходят через машину, которую вы арендовали. Не логируйте тела запросов «на всякий случай» и помните про требования к персональным данным — подробнее в заметке как не слить данные через ИИ.
  • Задержка вырастет. Плюс 30–80 мс на плечо до Европы. Для чата незаметно, для пакетной обработки тысяч документов — считайте заранее.
  • Ключ всё равно нужно где-то выпустить. Прокси решает проблему боевых запросов, но не первичной регистрации: страницу выдачи ключа придётся открыть из поддерживаемого региона.
  • Условия использования. Google прямо ограничивает доступность сервиса по регионам, и обход этого ограничения — ваша зона ответственности. Для рабочего проекта имеет смысл заранее оценить риск блокировки аккаунта и держать запасного провайдера модели.

Коротко

Ошибка FAILED_PRECONDITION с текстом про location — это не поломка кода и не проблема ключа, а гео-фильтр Google по IP исходящего запроса. VPN на ноутбуке решает её только для вас и только в браузере; продакшену нужен постоянный выход из поддерживаемого региона. Дешёвый VPS с nginx-проксёй на 20 строк закрывает вопрос за вечер — при условии, что вы проверили IP до настройки, закрыли прокси токеном и не тащите ключ на фронтенд. А если Gemini не принципиален, самый спокойный путь — взять модель, которая работает из России без плясок.

Частые вопросы

Q.Чем ошибка FAILED_PRECONDITION отличается от 403 и 429?

403 означает, что ключ не имеет прав на этот метод, 429 — что вы упёрлись в лимит запросов. 400 FAILED_PRECONDITION с текстом «User location is not supported for the API use» относится не к ключу, а к IP-адресу, с которого ушёл запрос: Google отклоняет его до проверки ключа. Менять ключ бесполезно — нужно менять точку выхода в интернет.

Q.Поможет ли VPN на компьютере?

Только для браузера и только вам лично: с ним откроется AI Studio и получится выпустить ключ. Но боевой код обычно работает на сервере, у которого свой IP, и VPN на вашей машине его не касается. Для продакшена нужен постоянный выход из поддерживаемого региона — обратный прокси или сервер за границей.

Q.Можно ли обойтись бесплатным Cloudflare Worker вместо VPS?

Иногда да, но нестабильно: разработчики регулярно получают ту же ошибку про location при запросах из Workers, потому что исходящий адрес принадлежит пулу, который Google не считает подходящим. Для разовых экспериментов вариант годится, для рабочего проекта надёжнее свой VPS с проверенным IP.

Q.Насколько это законно?

Google ограничивает доступность сервиса по регионам своими условиями использования, и ответственность за обход ограничения лежит на пользователе — вплоть до блокировки аккаунта. Легальный путь получить те же модели — Vertex AI через Google Cloud, но он требует проекта с биллингом и работающей иностранной карты.

Источники

Предыдущая
Qdrant: разворачиваем векторную базу на своём сервере

Читайте также

Открытый серверный блок на тёмном рабочем столе: материнская плата, планки памяти и NVMe-накопитель крупным планом, за ним монитор с тёмной панелью управления и синим облаком точек — визуализацией векторов.Заметки
27 августа 2026 г.

Qdrant: разворачиваем векторную базу на своём сервере

Практический гайд по самостоятельному хостингу Qdrant: сколько нужно памяти, запуск в Docker и docker compose, API-ключ и TLS, первая коллекция, фильтры по метаданным, квантизация и бэкапы.

Читать →
Тёмная графитовая комната, крупным планом монитор на рабочем столе с дашбордом векторного поиска: трёхмерное облако точек, сгруппированное в синие кластеры, рядом графики и поле запроса; сбоку второй экран с зелёным терминалом и домашний сервер с индикаторами.Заметки
26 августа 2026 г.

Векторные базы данных: обзор и как выбрать

Векторная база нужна там, где поиск идёт по смыслу, а не по словам. Разбираем, как устроены индексы HNSW и IVF, зачем нужна квантизация, чем отличаются pgvector, Qdrant, Milvus, Weaviate, Chroma и Pinecone — и по какому алгоритму выбирать под свой проект.

Читать →
Тёмная графитовая комната: крупным планом монитор с колонками чисел и диаграммой рассеяния, где синие точки собираются в группы; перед экраном на столе лежит распечатанная страница с обычным текстом, на заднем плане в расфокусе второй экран с терминалом и кабелиЗаметки
25 августа 2026 г.

Эмбеддинги простыми словами: как текст превращается в числа

Эмбеддинг — это набор чисел, в который модель превращает текст, чтобы компьютер мог сравнивать смыслы. Разбираем без формул: откуда берутся эти числа, как считают близость, какие модели актуальны в 2026 году и какие ошибки чаще всего ломают поиск.

Читать →