【问题标题】:GCP flexible environment: Configure app.yaml to run multiple servicesGCP柔性环境:配置app.yaml运行多个服务
【发布时间】:2021-10-04 08:07:06
【问题描述】:

我已经配置了两项服务,其中一项是默认服务。但是通过DNS查询https://gcpdev.company.com/one服务时,却无法访问项目文件。例如:

如果我直接输入这个 url,会返回 500 错误:

https://gcpdev.company.com/vendor-es2017.65ff9b5300ddf6707a5c.js

打开文件正确的是:

https://gcpdev.company.com/one/vendor-es2017.65ff9b5300ddf6707a5c.js

我的配置有问题吗?这些是default 项目的文件:

dispatch.yaml

dispatch:
  - url: "gcpdev.company.com/one/*"
    service: default
  - url: "gcpdev.company.com/two/*"
    service: two-ui

app.yaml

runtime: nodejs12    
service: default

handlers:
  - url: /one/(.*\.(gif|png|jpg|less|json|woff|woff2|ttf|eot|scss|css|js|ico|svg)(|\.map))$
    static_files: dist/\1
    upload: dist/(.*)(|\.map)

  - url: /one/assets/data/appConfig.json
    static_files: dist/assets/data/appConfig.json
    upload: dist/assets/data/appConfig.json

  - url: /one/(.*)
    static_files: dist/index.html
    upload: dist/index.html

对于two-ui 项目,我有相同的dispatch.yaml 和类似的app.yaml:

 runtime: nodejs12        
 service: two-ui
    
 handlers:
   - url: /two/(.*\.(gif|png|jpg|less|json|woff|woff2|ttf|eot|scss|css|js|ico|svg)(|\.map))$
     static_files: dist/\1
     upload: dist/(.*)(|\.map)
    
   - url: /two/assets/data/appConfig.json
     static_files: dist/assets/data/appConfig.json
     upload: dist/assets/data/appConfig.json
    
   - url: /two/(.*)
     static_files: dist/index.html
     upload: dist/index.html

【问题讨论】:

    标签: node.js google-cloud-platform app.yaml


    【解决方案1】:

    您的调度规则提到您必须使用:

    • gcpdev.company.com/one/*
    • gcpdev.company.com/two/*

    然后,预计对gcpdev.company.com/* 的调用会失败。没有任何规则规定如何使用该模式。

    关于:

    打开文件的正确的是: https://gcpdev.company.com/one/vendor-es2017.65ff9b5300ddf6707a5c.js

    值得一看Examples:

    例如:

    dispatch:
      # Default service serves the typical web resources and all static resources.
      - url: "*/favicon.ico"
        service: default**strong text**
    

    如果您想提供没有/one/* 和/two/* 模式的静态文件,您可能需要添加与上述类似的内容。

    关于如何在您的服务上提供静态文件,检查Handlers element 是下一步。我的建议是首先关注dispatcher,第二步关注app.yaml 中的处理程序。

    【讨论】:

      猜你喜欢
      • 2017-02-25
      • 2018-12-31
      • 1970-01-01
      • 2016-12-27
      • 2018-03-03
      • 1970-01-01
      • 2018-10-14
      • 2018-04-12
      • 2017-03-09
      相关资源
      最近更新 更多