我有一个在 Fortrabbit 上运行的 Laravel 应用程序。它的所有路由都是一个 API(除了/
)。前端通过 API 与后端对话。前端通过 https 提供服务,所有路由也是如此。
一切都通过 https 进行:资产、API 调用。除了将其请求重定向到 http 的一条路由之外。这是一个搜索功能,所以起初我认为它可能是我用于搜索的客户端库,但如果我将 XHR 请求复制为 CURL 并从我的终端触发它,我也会得到重定向:
Request:
curl 'https://theapp/?search=mak' -H 'Accept: application/json, text/plain, */*' -H 'Referer: https://theapp/' -H 'X-XSRF-TOKEN: the-token -H 'X-Requested-With: XMLHttpRequest'
Response:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://theapp?search=mak">here</a>.</p>
<hr>
<address>Apache/2.4.25 (Ubuntu) Server at theapp Port 80</address>
</body></html>
我不是 Laravel 专业人士,但我看不到或找不到任何会导致这种行为的东西,无论是在配置还是 .htaccess 中。APP_URL
也设置为 https URL 。
就像我说的,应用程序中还有其他几个不重定向的 GET 路由。
我联系了 Fortrabbit 团队,但他们坚称他们没有将任何内容重定向到 http。除了请求之外,我也没有在日志中看到任何内容。
有谁知道可能导致这种情况的原因是什么?