Next.js对接现有WebSocket服务器时Let's Encrypt证书域名配置问题
相关问题解答
域名选择说明
你不需要专门购买新域名,有两种可行方案可选:
- 如果你已经持有任意可用域名,直接新增一个二级域名(例如
ws.yourdomain.com)解析到你的EC2实例公网IP即可,申请Let's Encrypt证书时填写该二级域名即可。 - 如果你不想使用自有域名,可直接使用AWS EC2实例默认分配的公网域名,格式为
ec2-<公网IP段>.<区域>.compute.amazonaws.com,申请证书时直接填写该默认域名即可。注意如果你的EC2未绑定弹性公网IP,实例重启后公网IP和默认域名会变更,需要重新申请证书。
配置注意事项
- 申请Let's Encrypt证书时,需要临时放开EC2安全组的80/443端口入站规则,供证书所有权验证使用,验证完成后可根据需求调整安全组规则,只放行WebSocket服务端口、Vercel出口IP段和自用调试IP即可。
- Node.js的WebSocket服务启动时需要加载申请到的证书文件(通常是fullchain.pem和privkey.pem),前端连接时的地址需填写
wss://<证书绑定的域名>:<WebSocket服务端口>,不要直接填写EC2公网IP发起连接,否则会触发证书域名不匹配报错。
内容的提问来源于stack exchange,提问作者Debabrata Mondal
相关产品推荐
相关产品推荐

