# #google-app-engine #google-cloud-platform #load-balancing #url-mapping
Вопрос:
Я настраиваю карты URL-адресов в наших внутренних службах с помощью балансировщика нагрузки. Проблема в том, что мои карты URL-адресов по какой-то причине не работают. Когда я попытался просмотреть domain.com/path, это показывает
Запрошенный URL /bpd не был найден на этом сервере.
Я действительно верю, что поступил правильно, но, похоже, это все еще не работает.
Пожалуйста, смотрите скриншот ниже:
[![изображение][1]][1]
/* — работает
/путь 1 и /путь 2 — не работает, показывает ошибку — не найден на этом сервере
файл app.yaml:
runtime: python27
api_version: 1
threadsafe: true
service:
handlers:
- url: /
static_files:
upload:
secure: always
redirect_http_response_code: 301
- url: /(.*)
static_files: www/1
upload: www/(.*)
Я также настроил группу конечных точек бессерверной сети и подключился к движку приложений Google для внутренних служб.
Спасибо всем вам за вашу помощь.
Комментарии:
1. У вас есть журналы на вашем компьютере? Вы видите какой-то входящий запрос, но идете по неверному пути?
2. В дополнение к комментарию Гийома, как настроено ваше приложение.yaml?
3. Я тоже не видел никаких входящих журналов @guillaumeblaquiere
4. @SamuelRomero Я добавил свою конфигурацию yaml
5. как вы вызываете, например, серверную часть верификатора адресов с завитком (который работает)? Можете ли вы показать мне схему?
Ответ №1:
Благодаря вашему комментарию я подумал, что нашел ошибку. Фактически, когда вы определяете карту URL-адресов в балансировщике нагрузки, путь запроса в записи балансировщика нагрузки по умолчанию пересылается как есть на серверную часть.
Давайте возьмемся за ваше дело
- у вас есть эта карта URL:
<URL>/address/*
. Ваш URL-адрес-это/address/*
- Бэкэнд есть
<myAddressAppEngine.appspot.com>
. Он получил запрос по этому пути<myAddressAppEngine.appspot.com>/address/*
И это не работает, потому что на самом деле вы ожидаете <myAddressAppEngine.appspot.com>/*
.
Чтобы решить эту проблему, вы можете использовать расширенный режим на карте URL-адресов
Начните с установки бэкэндов по умолчанию для любого URL-адреса и любого пути
Затем добавьте новое правило пути и настройте его следующим образом, переписав путь на /
Комментарии:
1. Спасибо @Guillaume, я попробую ваше предложение и свяжусь с вами
2. Эта часть задокументирована здесь
3. Спасибо @guillaume. Также работает только 1 карта URL, остальные-нет.