我下载了ngrok,所以我可以测试我的网站的http和https请求(如果有人试图进入我的网站特定网址,这将是一个简单的http请求,我将否认它),
首先,我的localhost正在8080端口工作
我开始使用ngrok,它给了我以下内容:
在同一个端口,我认为这是一个问题,因为如果我在laravel中进行这样简单的路由配置:
Route::filter('force.ssl', function()
{
if( ! Request::secure())
{
return 'unsecured';
}
});
我有这条路线:
Route::get('survey/payment/secured', array('before' => 'force.ssl', function(){
return 'secured!';
}));
我执行以下请求:
https://75fdaa96.ngrok.com/survey/payment/secured
它认为它没有担保并返回'无担保',我该如何解决这个问题?
答案 0 :(得分:1)
Request::secure()
依赖于$_SERVER['HTTPS']
。由于HTTPS是由代理提供的,而不是您的网络服务器,因此Laravel并不知道它是作为HTTPS提供的。
ngrok does传递X-Forwarded-Proto
标题,但Laravel默认不信任它。您可以使用trusted proxy middleware来信任它。