我很难找到如何将多个域映射到 GAE 中的多个服务。这是配置:
- 一个应用是一个Go API,部署在标准环境的GAE中
- 第二个应用程序是 Angular 应用程序,它也部署在标准环境中的 GAE 中,但作为另一项服务部署。
这是 app.yaml 文件:
去应用app.yaml
runtime: go
api_version: go1.9
handlers:
- url: /.*
script: _go_app
角度应用程序 app.yaml
service: stage
runtime: python27
api_version: 1
threadsafe: true
skip_files:
- ^(?!dist) # Skip any files not in the dist folder
handlers:
# Routing for bundles to serve directly
- url: /((?:inline|main|polyfills|styles|vendor)\.[a-z0-9]+\.bundle\.js)
secure: always
redirect_http_response_code: 301
static_files: dist/\1
upload: dist/.*
# Routing for a prod styles.bundle.css to serve directly
- url: /(styles\.[a-z0-9]+\.bundle\.css)
secure: always
redirect_http_response_code: 301
static_files: dist/\1
upload: dist/.*
# Routing for typedoc, assets and favicon.ico to serve directly
- url: /((?:assets|docs)/.*|favicon\.ico)
secure: always
redirect_http_response_code: 301
static_files: dist/\1
upload: dist/.*
# Any other requests are routed to index.html for angular to handle so we don't need hash URLs
- url: /.*
secure: always
redirect_http_response_code: 301
static_files: dist/index.html
upload: dist/index\.html
http_headers:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Frame-Options: DENY
我有一个域,想将 Go API 绑定(bind)到 api.domain.com 并将 Angular 应用程序绑定(bind)到 domain.com。
通过转到 App Engine > Settings > Custom Domains,我成功地为我的 API 添加了域,它运行良好。
但是现在,我找不到将 domain.com 映射到我的 Angular 应用程序的方法。转到相同的设置不会给我一个选项来将不同的服务映射到我的域。
感谢您的帮助,祝您有愉快的一天!
要映射子域,您可以使用 dispatch.yaml文件。一个例子:
dispatch:
- url: "example.com/*"
service: default
- url: "api.example.com/*"
service: otherservice
然后运行$ gcloud app deploy dispatch.yaml
(可以在任何目录)
在 App Engine > 设置 > 自定义域下为默认服务添加 example.com 后,您可以为其他服务添加子域 api.example.com。稍后您需要按照控制台配置中的指示将新的子域 DNS 记录添加到您的域注册商。
我是一名优秀的程序员,十分优秀!