配置SSL证书

今天成功的把博客网站搭建好了
但是登陆网站会显示不安全,这是因为缺少SSL证书导致的,如图

2025-10-28T13:39:05.png

我已经申请到了一张证书

2025-10-28T13:42:08.png

现在,部署一下SSL证书,我服务器使用的系统是 Debian GNU/Linux 部署在阿里云 ,然后使用了1Panel面板
进行运维

登陆到1Panel面板——网站——网站——创建网站——一键部署——已装应用选择typecho,域名为 ip ,端口
设为83,一定要记得勾选 HTTPS ,否则无法部署SSL证书,选择好证书,最后点击确认
完成后如下图

2025-10-28T13:55:19.png

SSL证书部署完后,尝试使用HTTPS协议访问 ip:83 出现问题:连接超时
原因是83端口没有在安全组放开,进入阿里云控制台放开83端口
如图

2025-10-28T14:08:27.png

好样的,现在网站确实已经完成HTTPS加密,但是又出现了一个棘手的问题,如图:

2025-10-28T14:12:38.png

惊了!现在是2G时代还是3G时代??!!
仔细想想,可能是 OpenResty 配置问题,但是查看了配置文件后,没有发现任何问题

现在将矛头转向网站配置问题,登陆后台发现站点地址为 http://ip:84

站点地址还是HTTP协议,手动修改为HTTPS,并将端口设置为83,尝试刷新
2025-10-28T14:17:18.png

成功,现在网页正常建立HTTPS协议连接

端口舍弃问题

本博客现已迁移至443端口,下述操作仅供参考!

但是使用一段时间后,我发现了另一个问题:
在使用搜索功能或者尝试登陆到后台时,输入并按回车会被302重定向到 ip:443
这很不对劲
看起来就像是端口被舍弃了:

2025-10-28T15:14:58.png

果然,83端口被一股神秘力量重定向到了443

我再次查看 OpenResty 的配置,第一次并未发现任何问题
到这里,我已经没有任何头绪了(没错。。。我就是这么菜),尝试上网寻找答案
直到我找到了一篇Issues,里面有人提到:这个是nginx的配置问题,因为使用非标准端口需要在proxy_set_header 修改成 $host:$server_port
看到这个,我就火速去修改了
原配置:

location / {
        proxy_set_header Host $host; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Forwarded-Host $server_name; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-Proto $scheme; 
        proxy_set_header Connection upgrade; 
        proxy_set_header Upgrade $http_upgrade; 
        proxy_http_version 1.1; 
        proxy_pass http://127.0.0.1:84; 
    }

修改后配置:

location / {
        proxy_set_header Host $host:$server_port; //Modified
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Forwarded-Host $server_name; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-Proto $scheme; 
        proxy_set_header Connection upgrade; 
        proxy_set_header Upgrade $http_upgrade; 
        proxy_http_version 1.1; 
        proxy_pass http://127.0.0.1:84; 
    }

修改完成后重载 OpenResty,尝试搜索:

2025-10-28T16:26:53.png

问题得到解决