我在 Docker 容器内的 Elastic Beanstalk 中的 Amazon Web Services 上托管我的 Next.js 应用程序。我最近通过从 Express.js 打印注意到req.host
,每当发送请求以/_next*
路由主机时,都是myid.elasticebeanstalk.com
. 在所有其他请求中(例如,对于实际页面或对 API 服务器的请求),主机example.com
既是客户端又是服务器端(假设我的应用程序托管在该地址)。
我想知道为什么会这样?如何将主机标头设置为/_next*
路由example.com
?我怀疑有时这可能会导致 SSL 错误,因为主机将不正确。
弹性 beanstalk 配置是单实例。DNS 记录在 AWS Route 53 中配置。带有的主机标头myid.elasticebeanstalk.com
仅出现在服务器端请求中。example.com
是 CNAME,而不是别名。日志是在 docker 容器内制作的。一般来说,我认为 SSL 证书是由 Cloudfront 中的 AWS 提供的。
编辑:看起来主机名应该在 Elastic Beanstalk 的主机操作系统中设置,应该是 Linux。此AWS 文档对此进行了解释。