ngrok 无法正常工作以测试 HTTPS
Posted
技术标签:
【中文标题】ngrok 无法正常工作以测试 HTTPS【英文标题】:ngrok not working correctly to test HTTPs 【发布时间】:2019-09-06 13:17:20 【问题描述】:我下载了 ngrok,这样我就可以测试我的网站的 http 和 https 请求(如果有人试图进入我的网站特定的 url,这将是一个简单的 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
它认为它不安全并返回“不安全”,我该如何解决这个问题?
【问题讨论】:
【参考方案1】:Request::secure()
依赖于$_SERVER['HTTPS']
。由于 HTTPS 是由代理而不是您的网络服务器提供的,Laravel 不知道它是作为 HTTPS 提供的。
ngrok does 传递 X-Forwarded-Proto
标头,但 Laravel 默认不信任它。您可以使用trusted proxy middleware 信任它。
【讨论】:
以上是关于ngrok 无法正常工作以测试 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章