Laravel Forge + Laravel-echo-server +让我们加密:如何避免ERR_CERT_DATE_INVALID

问题描述

简介

我遇到了一个问题,我在Laravel Forge服务器上以恶魔身份运行laravel-echo-server。

问题在于,一段时间后,当echo尝试连接到服务器时,每个用户都会收到ERR_CERT_DATE_INVALID。但是,我的网站强制使用https,并且该页面已加载且安全。我验证了证书日期,一切都很好。

此后,我终于意识到,守护恶魔的laravel-echo-server start早已开始运作。因此,我手动重新启动它,然后一切又开始正常运行。

因此,我认为问题在于,首先,laravel-echo-server会获取证书并将其缓存。然后,如果不必重新启动并且当前日期晚于有效日期,那么即使Forge自动续订证书,我们也会开始收到错误消息,因为laravel-echo-server不会在续订时重新加载证书。

问题

如何更新laravel-echo-server使用的证书,以避免出现ERR_CERT_DATE_INVALID错误?

服务器

  1. 在Laravel Forge上使用Deamon
  2. 使用laravel-echo-server
  3. 让我们在Laravel Forge上加密SSL证书

解决方法

第一件事就是知道Laravel Forge何时续订我们的证书?
响应为there

Forge会在每个星期日的随机小时和分钟自动开始续订证书,以免淹没Let's Encrypt服务器。

在此之后,将知道证书的有效期限。使用Google Chrome浏览器工具后,我发现证书有效期为90天。我没有其他来源。

从那时起,强制关闭laravel-echo-server将让我们的守护进程重新启动它并获取新证书。一个简单的计划作业将解决此问题。

//app/Console/Kernel.php
    $schedule->call(function () {
        shell_exec('laravel-echo-server stop');
    })->weeklyOn(1,'1:00');

我将工作定在星期一的凌晨1点。由于Forge是在周日随机进行的,因此我选择星期一以确保证书已更新。

通过每周进行一次操作,我将确保laravel-echo-server使用的证书永远不会过时。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...