【问题标题】:"php artisan serve" forces HTTPS, where to disable locally?“php artisan serve”强制 HTTPS,在哪里禁用本地?
【发布时间】:2021-05-25 20:12:50
【问题描述】:

我正在运行 Laravel 5.6,当我运行“php artisan serve”时,我被重定向到 httpS://127.0.0.1:xxxx,其中 xxxx 旋转了一堆端口号。

另外,我在控制台中收到此错误消息:“127.0.0.1:63227 Invalid request (Unsupported SSL request)”,您可以看到它有一个看似随机的端口号。

不用说我不能在本地运行。我想知道是什么原因造成的,所以至少我可以在本地禁用它。任何帮助将不胜感激。

[Tue May 25 16:00:23 2021] 127.0.0.1:63230 Invalid request (Unsupported SSL request)
[Tue May 25 16:00:23 2021] 127.0.0.1:63230 Closing
[Tue May 25 16:00:23 2021] 127.0.0.1:63231 Accepted
[Tue May 25 16:00:23 2021] 127.0.0.1:63232 Accepted
[Tue May 25 16:00:23 2021] 127.0.0.1:63231 Invalid request (Unsupported SSL request)
[Tue May 25 16:00:23 2021] 127.0.0.1:63231 Closing
[Tue May 25 16:00:23 2021] 127.0.0.1:63232 Invalid request (Unsupported SSL request)

日志中没有任何内容。

【问题讨论】:

  • 您确定,您没有使用 .htaccess 或任何视图将用户重定向到 https 版本吗?
  • 过去,本地主机上的某些东西可能曾经提供过 HSTS 严格标头,因此现在您的浏览器将拒绝通过 HTTPS 以外的任何方式与主机通信。尝试完全清空你的浏览器缓存,然后重新启动浏览器,即便如此,也还是一败涂地。

标签: php laravel-5


【解决方案1】:

检查您的 AppServiceProvider::boot() 方法,它尚未使用 \Illuminate\Support\Facades\URL::forceScheme('https') 强制执行。

如果是这样,您可以为某些环境启用/禁用它。


if (env('APP_ENV') !== 'local') {
    \Illuminate\Support\Facades\URL::forceScheme('https');
}

【讨论】:

    【解决方案2】:

    您日志中的端口号是客户端端口,您不会被“重定向”到它。当您运行php artisan serve 时,它会告诉您服务器正在使用哪个端口号:

    $ ./artisan serve
    Starting Laravel development server: http://127.0.0.1:8000
    

    注意 URL 中的“http”。如果您尝试使用 HTTPS 访问此页面,您确实会在日志中看到如下错误:

    [Tue May 25 15:16:22 2021] 127.0.0.1:64768 Invalid request (Unsupported SSL request)
    [Tue May 25 15:16:22 2021] 127.0.0.1:64768 Closing
    

    如果您实际上没有输入错误的 URL,则可能的问题是您的网络浏览器强制使用 HTTPS。可能是由于浏览器扩展或您之前运行的服务器的 HSTS 造成的。

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2018-02-22
      • 2018-07-28
      • 2019-11-28
      • 2020-10-03
      • 2016-03-09
      • 2019-07-23
      • 2018-11-10
      • 2015-12-27
      相关资源
      最近更新 更多