为AWS websocket API网关(使用CloudFormation)使用自定义域时出现证书错误



我在AWS中为我的websocket API网关设置自定义域时遇到了一些问题。我不断收到证书错误。我已经有了证书设置和一些云形成脚本。看起来不错。一切都部署正确,但我一直收到关于证书的错误。

$ wscat -c ws.example.com
error: Hostname/IP does not match certificate's altnames: Host: ws.example.com. is not in the cert's altnames: DNS:*.execute-api.us-east-1.amazonaws.com

我检查了它返回的证书,序列号与我在ACM中创建的证书不匹配。

这是我的CloudFormation脚本:

WebsocketApi:
Type: AWS::ApiGatewayV2::Api
Properties:
Name: !Sub ${Environment}-ips-ws-api
ProtocolType: WEBSOCKET
RouteSelectionExpression: $request.body.action
ApiKeySelectionExpression: $request.header.x-api-key
WebsocketStage:
Type: AWS::ApiGatewayV2::Stage
Properties: 
ApiId: !Ref WebsocketApi
Description: Websocket Api Stage
StageName: base
AutoDeploy: true
WebsocketDomainName:
Type: AWS::ApiGatewayV2::DomainName
Properties:
DomainName: !Ref WebsocketDomain
DomainNameConfigurations:
- CertificateArn: !Ref WebsocketCertificateArn
SecurityPolicy: TLS_1_2
EndpointType: REGIONAL
WebsocketDomainMapping:
Type: AWS::ApiGatewayV2::ApiMapping
Properties:
ApiId: !Ref WebsocketApi
ApiMappingKey: base
DomainName: !Ref WebsocketDomainName
Stage: !Ref WebsocketStage
WebsocketDnsRecord:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneId: !Ref HostedZoneId
Name: !Ref WebsocketDomain
Type: CNAME
AliasTarget:
DNSName: !GetAtt WebsocketDomainName.RegionalDomainName
EvaluateTargetHealth: false
HostedZoneId: !GetAtt WebsocketDomainName.RegionalHostedZoneId

如果有,请告诉我。我缺少一些信息。

任何帮助都将不胜感激,我已经为此绞尽脑汁了一段时间。

使用wscat时是否缺少协议?你应该像这样使用它:

wscat -c wss://socketserve.example.com

相关内容

  • 没有找到相关文章

最新更新