每当我使用时,请访问用
temporarySignedRoute()
在
生产
InvalidSignatureException
. 但是,在
环境,它工作。我也试过使用
signedRoute()
没有运气。
我创建的网址如下:
\URL::temporarySignedRoute(
'user.activate',
now()->addHours(200),
[ 'id' => $user->id ]
);
URL示例:
https://xx.xx/activate/5?expires=1537065074&signature=f57713b2fccea5ce17b7c1a3241e275d62f1994cd8004ea480cced2402081090
我已经确定
APP_KEY
已设置。我不确定我应该采取什么措施来解决这个问题。我正在使用拉维尔福吉进行部署。我也使用负载均衡器,但只有一个应用服务器atm。
为什么是
投掷
在生产中?
编辑:
记录请求,我得到以下数据:
// [ $expired, $url, $query, $original, $signature ]
[
false,
"http://xx.xx/activate/13",{"expires":"1537076308","signature":"9d972a574137bf7e5f30120c3f539a81bca71875020c3476e3bfb230220a73f7"},
"http://xx.xx/activate/13?expires=1537076308",
"ed80a6ae717e806fd5f887224c2ac88f5fffb893ae284cc52688ba0690d3a9e1"
]
请注意,URL以
http://
但实际生成的链接是使用
https://
request()->url()
. 这让我相信问题在于http方案。
在我的
AppServiceProvider.php
我是这样的:
if (env('APP_ENV') == 'production') {
\URL::forceScheme('https');
}
为什么是
request()
作为非http接收?