hualinux2.10 环境搭建:使用https!用acme.sh安装免费ssl证书并自动更新

现在的web基本上都是基于ssl,即使用的是https,因为如果使用http的话,是没有加密传输的,使用抓包工具的话会被抓出来,包括你登录的用户名和密码!很不安全!

https的ssl证书一般是收费的,免费的一般也只能使用30-60等不等,如果能找到免费的ssl证书并且能一直使用下去,那么则可为公司节省一笔不错的费用。

我这里使用acme.sh安装免费ssl证书,教程如下,下面是centos6的,centos8也是能用的,如果不能使用请留言

需求

公司想弄一个https最好是免费的,小公司如果付费的话一年也得花不少费用呢?

一般免费的ssl是30-60试用的,如果想一直免费下去,是不是写了下脚本,到期就重新购买一个新的就行了?还真有一个脚本名字叫“acme.sh”,它是自动给你更新证书的

acme.sh教程地址:

https://github.com/Neilpang/acme.sh

中文使用说明:https://github.com/Neilpang/acme.sh/wiki/说明

一、实验环境

1. centos6.5 64位,用yum安装的nginx

2. nginx的ssl证书

二、acme.sh安装

#因为是国外网址,可能打不开,所以在安装前绑定hosts,
#可能会失效,需要使用dns查询http://tool.chinaz.com/dns/
13.229.188.59 github.com
172.67.199.16 get.acme.sh

建议你拿一个线上在跑的域名,新建立一个二级域名来测试,我这里所有的安装都是直接使用root用户。

#用curl https://get.acme.sh | sh 安装发现有问题,改用win下用git bash执行git clone

PS:最好指定一下邮箱地址 如:

curl https://get.acme.sh | sh -s email=hua@hualinux.com

安装详细教程有兴趣可以看 https://github.com/acmesh-official/acme.sh/wiki/How-to-install

#直接去官网手工下载zip包再上传

#安装依赖

yum install socat

cd /disk1/tools/

#上传zip

mv acme.sh-master.zip acme.sh.zip

unzip acme.sh.zip

mv acme.sh-master acme.sh

cd acme.sh

./acme.sh --install

#并创建 一个 bash 的 alias

alias acme.sh=~/.acme.sh/acme.sh

三、生成证书

#dns 方式

acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成,更详细的api 用法: https://github.com/Neilpang/acme.sh/wiki/dnsapi

#我这里用的是dnspod解释的,所以用它生成token

#登陆dnspod-->用户中心-->安全设置-->旁边的“API Token”,生成一个token

#在ssh上执行

cd /root/.acme.sh/

export DP_Id="dnspod ID值"

export DP_Key="dnspod Token值"

#为了方便生成一个通知证书

acme.sh --issue --dns dns_dp -d hualinux.com -d *.hualinux.com

#建立nginx证书

mkdir /etc/nginx/ssl

#copy/安装 证书,我这里的域名是hualinux

acme.sh  --installcert  -d  hualinux.com  \

        --key-file  /etc/nginx/ssl/allhualinux.key \

        --fullchain-file /etc/nginx/ssl/fullchain.cer \

        --reloadcmd  "service nginx force-reload"

四、nginx配置ssl

server {

    listen      80;

    listen      443 ssl;

    #ssl on;

    server_name  t1.hualinux.com;

    #by hua

    ssl_certificate  /etc/nginx/ssl/fullchain.cer;

    ssl_certificate_key /etc/nginx/ssl/allhualinux.key;

    ...

    index index.php

    ...

}


五、更新 acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

默认已经加入定时任务中

8 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

注:如果发现证书过期的话,可以把上任的定时任务命令 "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh"
单独拿出来执行 

升级 acme.sh脚本代码到最新版 :

acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级:

acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了.,保持脚本代码为最新了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值