前言

使用acme可以生成免费的https证书,并且部署简单,让我们一起了解下。

安装

我是nginx服务器,所以我以nginx为代表,来告诉如何安装。

下载acme脚本,并执行脚本

curl  https://get.acme.sh | sh

安装过程执行了以下几步:

  1. 把 acme.sh 安装到你当前登陆账户的home目录下。如果是root账户,安装的位置在~/.acme.sh/
  2. 创建了一个acme.sh的快捷方式alias acme.sh=~/.acme.sh/acme.sh
  3. 在crontab自动任务里面创建了一个定时任务,每天0:00点自动检测所有的证书,如果快过期了,会自动更新证书.35 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

安装过程不会污染已有的系统任何功能和文件,所有的修改都限制在.acme.sh目录中

生成证书

acme.sh --issue  -d 域名   --nginx

执行该命令会进行以下步骤:

  1. 自动找到nginx目录,并生成临时文件
  2. 通过域名访问该临时文件,访问完成后删除临时文件
  3. 如果能正常访问,则验证通过,生成证书。否则报错

把证书拷贝到自定义目录

默认证书在安装目录.acme.sh下生成,但不要直接使用该目录下的证书,而应该拷贝到其他自定义目录下。因为.acme.sh目录下的文件可能会被更改。

acme.sh --install-cert -d 域名 \
--key-file       自定义目录/key.pem  \
--fullchain-file 自定义目录/cert.pem 

使用上面命令进行拷贝,acme自动更新证书的任务才能知道要更新的位置。

配置nginx文件

server {
    listen       80;
    server_name  qiud.xyz;
    rewrite ^(.*)$ https://qiud.xjj permanent;
}
server {
  listen  443 ssl;
  ssl on;
  ssl_certificate       /root/acme/qiud.xjj.cer;
  ssl_certificate_key   /root/acme/qiud.xjj.key;
  ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers           HIGH:!aNULL:!MD5;
  server_name           qiud.xjj;

    location /{ 
    proxy_redirect off;
    proxy_pass http://localhost:8080;      
    proxy_http_version 1.1;
    }
}

以上配置文件的意思是,当访问80端口就重定向到443端口,并转发给应用程序监听的8080端口。

重启nginx服务器

service nginx restart

结束

自此,我们就完成了acme免费申请https证书,再也不用看那红色的警告了,心情都舒爽了。

THE END
开启精彩搜索

热门搜索

暂无

历史搜索

用户名/邮箱/手机号
密码
用户名
密码
重复密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
注册
找回密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

2024年10月

新增

新增

新增

新增

新增

新增

新增

新增

新增

新增