宝塔面板续期ssl证书可能出现的问题及解决方案

我好几次给这个网站续期ssl证书时都会发生莫名其妙的问题,我大概知道是我的nginx配置的不正确所导致的,可是我本人并不懂nginx,所以每次都要花费好多时间研究怎么更新ssl。

然后好不容易研究出来搞对了,结果三个月后到续期时间就又忘了,真是好记性啊。所以还是记录下怎么解决问题吧。

首先如上图,点了续期后大概率会出现一次nginx的报错,内容如下:

证书错误:
nginx version: nginx/1.24.0
nginx: [emerg] unknown "upgrade" variable
nginx: configuration file /xxxx/nginx/conf/nginx.conf test failed

为什么会出现这样的错误,我也不知道,但是有解决的方法。

该错误是因为配置文件中引用了不被支持或不正确的变量,也就是那个upgrade`,虽然我不知道这个变量是哪里冒出来的,但只需要到它下面给出的路径下修改以下即可。也就是`/xxxx/nginx/conf/nginx.conf这个路径以及文件。

这个文件内有如下内容:

http
    {
        include       mime.types;
        #include luawaf.conf;

        include proxy.conf;
        lua_package_path "/www/server/nginx/lib/lua/?.lua;;";
        ...

在这个文件的http内添加如下代码:

map $http_upgrade $upgrade {
    default upgrade;
    ''      close;
}

合并后是这样的:

http
    {
        map $http_upgrade $upgrade {
            default upgrade;
            ''      close;
        }

        include       mime.types;
        #include luawaf.conf;

        include proxy.conf;
        lua_package_path "/www/server/nginx/lib/lua/?.lua;;";
        ...

这样就解决问题了。


至于这是什么原理呢,其实我也不是很清楚,大概是nginx缺少一个upgrade`变量,所以我们用`map`函数定义一个映射关系,大概是定义了一个变量`upgrade`映射到`http_upgrade之上。

第二行定义了默认映射规则,第三行定义了当http_upgrade为空的情况。大致就是这样吧,详情可以看这篇csdn文章

基本就是这样了,我们有缘再见。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇