【发布时间】:2022-02-04 17:13:02
【问题描述】:
我在很多方面搜索了我的问题,但我似乎没有找到正确的案例,所以我在这里问。
我有一个安装在服务器上的 Laravel 应用程序,一切正常。域设置为仅 HTTP,并从 AWS 配置。但是,我们需要另一个只能通过 HTTPS 工作的域。 HTTP 域指向服务器实例,而 HTTPS 域指向一个 CloudFront 分配,其来源是 HTTP 域。问题是当我打开 HTTPS 域时,所有的链接和图像都是从 HTTP 域加载的。
更具体地说,假设我有http://mysite-notsecure.example.com 和https://mysite-secure.example.com。
当我打开http://mysite-notsecure.example.com 时,一切正常,没有问题。但是,当我打开 https://mysite-secure.example.com 时,站点会加载,app.js 和 app.css 之类的文件也会使用正确的主机加载,但字体、图像、链接等内容会从 http://mysite-notsecure.example.com 加载。
因为大部分的url都是用url()函数构建的,所以我认为这个问题和APP_URL有关,最初设置为http://mysite-notsecure.example.com,但是当我添加新域时,我设置了它清空 (APP_URL=),
但是网址仍然以相同的方式构建(我清除了配置缓存)。
我应该怎么做才能让我的网站根据当前主机构建 url?
我不需要对这两个域进行任何其他更改。他们应该加载完全相同的所有内容,只有主机应该保留,而不是重定向到另一个域。
【问题讨论】:
-
更改您的链接以使用当前协议。格式为
href="//assets/link-to-some_js.js"双斜杠使用当前协议。
标签: laravel amazon-web-services dns amazon-cloudfront host