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的主要内容,如果未能解决你的问题,请参考以下文章

无法让 Twilio 应用程序与 ngrok 一起正常工作

Ngrok 无法正常工作

Telegram Webhook 和 Ngrok 无法正常工作

Ngrok 无法提供 PHP 会话 cookie:

ngrok 和 docker,无法完成隧道连接

无法使用 ngrok 访问 ssh