【问题标题】:AWS SAM rest api gateway doesn't handle '-' in custom domain properlyAWS SAM rest api 网关无法正确处理自定义域中的“-”
【发布时间】:2021-02-03 08:22:23
【问题描述】:

我正在尝试将 'https://domain.domain/my-api' 之类的 url 映射到 rest api 网关,我使用的模板如下:

...
MyAPI:
  Type: AWS::Serverless::Api
  OpenApiVersion: 3.0.0
  Properties:
    Domain:
      BasePath:
        - !Ref URLBasePath
      CertificateArn: !Ref URLCertArn
      DomainName: !Ref URLDomainName
      EndpointConfiguration: EDGE
      Route53:
        HostedZoneId: !Ref HostedZoneID
...

(URLBasePath = 'my-api' URLDomainName = 'domain.domain')

但是我得到的是 'https://domain.domain/myapi' 而不是 'https://domain.domain/my-api' (如果我使用 '_' (https://domain.domain/my_api) 也会发生同样的情况),但是如果我通过控制台手动映射域 - 它可以正常工作。

我做错了什么,还是一个错误(在 sam 或 cloudformation 中)?

谢谢。

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation aws-api-gateway aws-sam aws-sam-cli


    【解决方案1】:

    不确定您在模板中粘贴的确切内容,但 https://my-api 不是域的一部分。你的DomainName 应该只是domain.domain

    要指定my-api 应该使用BasePath 属性。

    【讨论】:

    • domain.domain/my-api 是我想用于 api 网关的 url。在我的模板中,我使用 URLBasePath = 'my-api' 和 URLDomainName = 'domain.domain'
    • @Andrey 那么它有用吗?您的评论中没有关于任何错误的问题或信息。
    • 我从一开始就使用这些参数。没有任何改变,只是附加信息。 (或者你是什么意思?)
    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2018-08-19
    • 2018-06-02
    • 2020-12-17
    • 2013-02-20
    相关资源
    最近更新 更多