启用https


基于 acme.sh从Let’s Encrypt生成免费的泛域名证书

安装acme.sh

# 安装依赖环境 
yum -y install curl cron socat
# 下载并安装acme.sh 
curl  https://get.acme.sh | sh
source ~/.bashrc

申请域名解析服务商API token ,完成DNS验证

DNS验证的意义在于证明域名的所有人是你,而不是别人。acme.sh不是随随便便就就能操作当前域名的DNS解析记录的,必须通过当前域名的域名注册服务商授权才可以。这就需要用到了API token

  • 服务商名称 服务商简称 所需API参数 获取API参数地址
    cloudxns cx export CX_Key=”123456” export CX_Secret=”abcdef” 点击访问
    dnspod (cn大陆版) dp export DP_Id=”123456” export DP_Key=”abcdef” 点击访问
    aliyun ali export Ali_Key=”123456” export Ali_Secret=”abcdef” 点击访问
    cloudflare cf export CF_Key=”123456” export CF_Email=”abc@example.com 点击访问
    linode linode export LINODE_API_KEY=”123456” 点击访问
    he he export HE_Username=”username” export HE_Password=”password” he的用户名密码
    digitalocean dgon export DO_API_KEY=”123456” 点击访问
    namesilo namesilo export Namesilo_Key=”123456” 点击访问
    aws aws export AWS_ACCESS_KEY_ID=123456 export AWS_SECRET_ACCESS_KEY=abcdef 点击访问
    namecom namecom export Namecom_Username=”username” export Namecom_Token=”123456” 点击访问
    freedns freedns export FREEDNS_User=”username” export FREEDNS_Password=”password” freedns的用户名密码
    godaddy gd export GD_Key=”123456” export GD_Secret=”abcdef” 点击访问
    yandex yandex export PDD_Token=”abcdef” 点击访问

我使用的是阿里云,对应的命令为:

export Ali_Key="xxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxxxxxxxxxxxx"

生成泛域名证书

多域名,可以使用 -d 参数添加

--keylength ec-256 是签发 ECC 类型的证书,它的安全性更高,删除则使用默认的 RSA 证书

acme.sh --issue --dns dns_ali -d iamghf.top  --keylength ec-256 --standalone

复制证书

证书已经签发了,不过默认是保存在 ~/.acme.sh/

acme.sh --ecc --installcert -d iamghf.top 
        --key-file /etc/nginx/cert/iamghf.top.key 
        --fullchain-file /etc/nginx/cert/iamghf.top.cer 
        --reloadcmd "/usr/sbin/nginx -s reload"

指定域名,指定证书保存目录,我这里设置在 /etc/nginx/cert/,指定 Nginx 重载命令,如果签发的不是 ECC 证书,把 --ecc 参数去掉

这样使用 acme.sh 就完成了证书的签发,如果证书快要过期了,脚本会自动更新证书

脚本自动更新,可以使用以下命令

acme.sh --upgrade --auto-upgrade

未解决的问题

启用https后 发现chrome浏览网站时并不是全绿

查了下是因为页面还有其他 http 资源,也就是所谓的 Mixed Content,开启调试模式看了下是用的图床没启用https,懒得折腾了有空再修复吧。


文章作者: ghf
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ghf !
评论
 上一篇
Servlet 工作原理 Servlet 工作原理
从 Servlet 容器说起要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展
2020-04-21
下一篇 
漫威宇宙其实也就讲了一件事 漫威宇宙其实也就讲了一件事
整个宇宙就好比一个git项目,其中有一群叫做美国队长,钢铁侠,惊奇队长,浩克,索尔等人在维护这个项目,兢兢业业的修理bug。 某一天出现了一个天才程序员,叫灭霸,也在这个项目中开发,他意识到,这个项目已经很庞大了,光是编译都要几个小时,运行
2020-04-10