
如何给非443端口绑定SSL证书,并自动续约证书
证书申请和自动续约
证书申请
以1Panel 面板为例(如何安装和使用主页搜索即可)
创建ACME账户
进入1P面板->网站->证书->ACME账户-> 创建账户 输入自己的邮箱就可以申请,账户类型选择这个就可以,免费用的人也比很多
创建DNS账户
其实就是需要绑定你的域名提供商,验证域名所有权
进入1P面板->网站->证书->DNS账户-> 创建账户 名称随意 类型就是你的域名供应商 ID 和 Key 就是API密钥 腾讯创建API密钥地址 阿里云
然后将自己的KEY和ID输入进去就可以了,key只能创建的时候看到,所以以后还需要的话就保存一下,忘了也没关系,可以删除再创建
申请证书
输入自己的主域名和其他域名就可以了,然后推送证书到本地目录也选择上就可以了。
自动续签
申请证书的时候将自动续签的按钮选择上就可以了
绑定证书到指定端口
使用的工具为Nginx
安装 Nginx(如果尚未安装):
sudo apt update
sudo apt install nginx
找到配置文件:
默认情况下,Nginx 的主配置文件位于
/etc/nginx/nginx.conf
。对于基于 Debian/Ubuntu 的系统,通常在
/etc/nginx/sites-available/
目录中有多个站点配置文件。
编辑配置文件:
如果您在使用站点配置文件,您可以选择编辑现有的配置文件,或者创建一个新的文件。例如,您可以在
/etc/nginx/sites-available/
下创建一个新的文件:
sudo nano /etc/nginx/sites-available/lixiansen.com
添加 server 块:
在文件中,添加一个 server 块。以下是一个示例配置:
server {
listen 3000 ssl; # 监听 3000 端口
server_name lixiansen.com; # 替换为您的域名
ssl_certificate /path/to/your/certificate.crt; # SSL 证书路径
ssl_certificate_key /path/to/your/private.key; # 私钥路径
location / {
# 如果需要代理到其他服务,可以在这里设置
proxy_pass http://localhost:your_backend_port;
}
}
这里提醒一下,就比如你在机器上运行的端口是8090 ,你就需要把proxy_pass 后面的更改成http://localhost:8090,然后你直接访问
https://你的域名:3000 然后才会访问到你的服务,这个监听的端口才是你要访问的端口,这个端口是随意的,但是不能和你服务的端口重复
启用配置(如果使用 sites-available
):
如果您在 sites-available
中创建了新的配置文件,您需要通过创建符号链接来启用它:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
当然直接更改配置文件文件也能实现,但是我认为用连接方便一些
测试 Nginx 配置:
在重启 Nginx 之前,测试配置文件的正确性:
sudo nginx -t
重启 Nginx:
如果配置正确,您可以重启 Nginx 以应用更改:
sudo systemctl restart nginx
OKK重启完成后就可以用https 来访问自己的服务了