路径不会在域名中解析,而是在 Elastic Beanstalk URL 中解析

Posted

技术标签:

【中文标题】路径不会在域名中解析,而是在 Elastic Beanstalk URL 中解析【英文标题】:Paths won't resolve in domain name but in Elastic Beanstalk URL 【发布时间】:2021-04-02 04:39:40 【问题描述】:

到目前为止我做了什么:

我将 Laravel 应用上传到 Elastic Beanstalk 我在namecheap购买了一个域名:domain.net 我在 Route 53 中为 domain.net 设置了托管区域 我在我的域名部分 namecheap 的托管区域中输入了 NS 信息 我从证书管理器和关联的domain.net 获得了证书,我获得了*.domain.net 的第二个证书 我在托管区域中为证书创建了 CNAME 记录(见下图) 我创建了一个 CloudFront 分配,在“源域名”下我放置了 Elastic Beanstalk URL,选择了“将 HTTP 重定向到 HTTPS”,在“备用域名”下输入了 domain.net,并为 domain.net 选择了 SSL 证书 我对@9​​87654329@ 重复了上一步 然后在托管区域中,我为 domain.net 创建了一个别名记录,指向 domain.net 的 CloudFront 分配,并为 *.domain.net 创建了另一个别名记录,指向各自的 CloudFront 分配(见下图)

问题

我在网站上获得了domain.netwww.domain.net 的 SSL 连接,即使从 HTTP 到 HTTPS 的重定向也有效。但是,当我单击导航菜单中的链接时,例如“关于”,我得到的页面是 NOT domain.net/about,但 http://myenvironment-env.eba-zxsw5igy.us-east-1.elasticbeanstalk.com/about 带有“不安全”连接。但是,当我在浏览器中手动输入 URL 时,例如 domain.net/about,我得到了正确的 URL。我可能做错了什么?

这里是来自托管区域的记录的概述。

更新

在没有 SSL (+CloudFront) 的 Elastic Beanstalk 上使用相同的 Laravel 应用程序代码配置 Route 53 可以正常工作。我可以访问网站上的任何链接,它们正确解析为domain.net/about 等。

也许我没有将 CloudFront 正确连接到 Elastic Beanstalk?同样,这就是我在 CloudFront 分发中所做的:在“源域名”下,我放置了 Elastic Beanstalk URL,我选择“将 HTTP 重定向到 HTTPS”,在“备用域名”下输入 domain.net 并选择 SSL 证书对于domain.net

【问题讨论】:

我很确定这个问题与 AWS 无关,而是与您在应用程序中构建链接的方式有关。 我也读过,但问题是,我之前使用相同的应用程序代码将我的域名链接到 EBS,并且链接在正确的 URL 中解析。不幸的是,我删除了旧的托管区域并且没有任何设置(不应该这样做)。现在我只想用 SSL 重新设置它。问题是否在于在托管区域中为 EBS URL 创建记录?我一无所知。 不,您需要在服务器上配置您的软件以了解它应该用于建立链接的域名。这不是 Route53 问题。 我不知道这是否会回答您的问题,因为涉及到许多活动部件。如果您还没有,请查看此文档。也许它有助于解决问题:aws.amazon.com/de/premiumsupport/knowledge-center/… 感谢您的回答,但我不想使用负载均衡器,而是使用 CloudFront 和 Elastic Beanstalk。 【参考方案1】:

所以,我找到了解决问题的方法。默认情况下,CloudFront 将 HTTP 请求标头设置为原始主机名——对我来说,这是 ElasticBeanstalk URL。然后,应用程序会根据该来源生成链接。

要更改该行为,必须创建缓存策略和源请求策略并将主机标头添加到白名单,以便 CloudFront 使用从浏览器发送的 hist 标头。

这个answer 给了我关于做什么以及这些 AWS 资源的提示:

这给出了一个关于解决方案的overview 如何创建 Cache Policy 并将其附加到您的发行版中 如何创建 Origin Request Policy 并将其附加到您的分发中

【讨论】:

以上是关于路径不会在域名中解析,而是在 Elastic Beanstalk URL 中解析的主要内容,如果未能解决你的问题,请参考以下文章

host文件 域名解析问题

域名如何设置DNS解析

DNS域名解析原理 -- 2019-08-09 10:24:18

域名解析成ip地址通过啥服务器

nodelocaldns导致coredns hosts配置失效

DNS原理及其解析过程