我有一个由AWS的Gateway API提供的Websocket(地址为W)和一个在AWS外部注册的自定义域D。我通过freedns管理子域。我想将自定义域指向websocket。
我尝试在Gateway API控制台中添加自定义域,这需要我在Amazon Certificate Manager中创建或上传证书。我在那里为自定义域创建了证书,并在将D映射到W的freedns中添加了一个CNAME
条目,但是当我尝试与websocket交谈时,我得到了:
wscat -c wss://custom_domain/stage
error: Hostname/IP does not match certificate's altnames: Host: custom_domain. is not in the cert's altnames: DNS:*.execute-api.eu-central-1.amazonaws.com
就像this question所述,因为颁发的证书仅用于custom_domain,但是当DNS将D重定向到W时,该证书不再匹配。如果使用Route53,则预期的解决方案是创建一条A
记录,该记录会将D映射到W的IP。
但是,这在使用外部DNS时不起作用,因为W的IP不是静态的,并且Route53可能知道此IP的更改,但是我的DNS提供商却没有。
使用外部DNS提供程序时是否可以将自定义域与websocket API一起使用?