【问题标题】:Angular frontend with django rest backend on google cloud app engine error 502 Bad Gateway谷歌云应用引擎错误 502 Bad Gateway 上带有 django rest 后端的 Angular 前端
【发布时间】:2021-01-18 18:18:39
【问题描述】:

我已经在 Google App Engine 上部署了带有 Django Rest Framework 后端的 Angular 前端。当我从前端向后端发出请求时,我收到错误 502 Bad Gateway 任何有关识别问题的帮助将不胜感激。我已经尝试了几个在线建议对我不起作用。 这是我的前端 app.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

这是我的 dispatch.yaml 文件

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

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-app-engine-python app-engine-flexible djangoappengine


    【解决方案1】:

    我发现我没有设置 main.py 文件。应用引擎处理 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
    ```
    

    【讨论】:

      【解决方案2】:

      您的网址路由中的前导通配符无效。试试这个:

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

      然后,任何以/api/... 开头的 url 都会转到 python 后端

      【讨论】:

        猜你喜欢
        • 2018-04-14
        • 1970-01-01
        • 1970-01-01
        • 2018-08-06
        • 1970-01-01
        • 1970-01-01
        • 2011-09-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多