Угловой интерфейс с серверной частью django rest в Google Cloud app Engine ошибка 502 плохой шлюз

#google-app-engine #google-cloud-platform #google-app-engine-python #app-engine-flexible #djangoappengine

#google-app-engine #google-облачная платформа #google-app-engine-python #app-engine-гибкий #djangoappengine

Вопрос:

Я развернул свой интерфейс angular с помощью серверной части Django Rest Framework в Google App Engine. Когда я делаю запрос на серверную часть из интерфейса, я получаю сообщение об ошибке 502 Bad Gateway, любая помощь по выявлению проблемы будет действительно оценена. Я попробовал несколько онлайн-рекомендаций, которые у меня не работают. Это мое интерфейсное приложение.yaml

 runtime: nodejs12
handlers:
  - url: /
    static_files: smis/index.html
    upload: smis/index.html
    secure: always
  - url: /
    static_dir: smis
    secure: always
  

Это мой серверный файл app.yaml

 runtime: python38
service: backend
handlers:
  - url: /static
    static_dir: /static/
    secure: always
  - url: /.*
    script: auto
    secure: always
  

Это моя отправка.файл yaml

 #routing rules
dispatch:
  #api
  - url: "*/api/*"
    service: backend
  

Ответ №1:

Недопустимый подстановочный знак в вашей маршрутизации URL. Попробуйте это:

 #routing rules
dispatch:
  #api
  - url: "/api/*"
    service: backend
  

Затем любой URL-адрес, начинающийся с /api/... , перейдет на серверную часть python

Ответ №2:

Я обнаружил, что не установил main.py досье. App engine обрабатывает запрос в main.py файл, который должен находиться в корневом каталоге. Содержимое main.py файл может быть получен из wsgi.py досье. Это содержимое, которое я размещаю в main.py файл, и это сработало для меня:

 import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'smis.settings')

application = get_wsgi_application()
app = application
```