Acme.sh申请免费ssl证书
acme.sh 实现了 acme
协议, 可以从 letsencrypt 生成免费的证书.
主要步骤:
- 安装 acme.sh
- 生成证书
- copy 证书到 nginx/apache 或者其他服务
- 更新证书
- 更新 acme.sh
- 出错怎么办, 如何调试
下面详细介绍.
1. 安装 acme.sh
安装很简单, 一个命令:
acme.sh 实现了 acme
协议, 可以从 letsencrypt 生成免费的证书.
主要步骤:
下面详细介绍.
安装很简单, 一个命令:
用户密码是访问Web应用的关键,它直接关乎到用户账号和应用数据的安全。
如果用户密码被泄露或破解,将导致严重后果。后果最轻的算是某个用户或某少数用户的账号被盗用了,用户将失去对账号的控制。盗用账号后,攻击者可以获取该用户的私密信息,或进行额外的攻击;如果用户在多个应用重复使用同一密码,那么后果将进一步严重,用户的一系列账号都将受到安全威胁;更为严重的是Web应用存储用户账号信息的数据库被攻破(俗称“脱库”),攻击者会拿到存储的全部用户账号信息等,如果用户密码存储不当,攻击者可以很容易破译所有用户的密码,并基于这些密码信息做进一步的攻击。
1 mkdir /mnt/data/6381
2 mkdir /mnt/data/6382
3 mkdir /mnt/data/6383
4 mkdir /mnt/data/6384
5 mkdir /mnt/data/6385
6 mkdir /mnt/data/6386
1 wget http://download.redis.io/releases/redis-6.0.6.tar.gz
1 docker pull redis:6.0.6
1 [root@localhost ~]# cp redis-6.0.6/redis.conf /mnt/redis.conf
2 [root@localhost ~]# vim /mnt/redis.conf
3 # bind 127.0.0.1 "注释bind 127.0.0.1"
4 protected-mode no #"将 protected-mode yes 改为 protected-mode no "
5 # daemonize yes "注释daemonize yes, 或改为no"
6 cluster-enabled yes #"启用集群配置"
7 cluster-config-file nodes-6381.conf #"节点配置文件"
8 cluster-node-timeout 5000 # "节点通信超时时间5s"
1 docker run -p 6381:6379 --name redis01 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6381:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
2 docker run -p 6382:6379 --name redis02 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6382:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
3 docker run -p 6383:6379 --name redis03 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6383:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
4 docker run -p 6384:6379 --name redis04 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6384:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
5 docker run -p 6385:6379 --name redis05 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6385:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
6 docker run -p 6386:6379 --name redis06 -v /mnt/redis.conf:/etc/redis/redis.conf -v /mnt/data/6386:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
1 [root@localhost ~]# docker inspect redis01 | grep "172.17"
2 172.172.0.2
3 [root@localhost ~]# docker inspect redis02 | grep "172.17"
4 172.172.0.3
5 [root@localhost ~]# docker inspect redis03 | grep "172.17"
6 172.172.0.4
7 [root@localhost ~]# docker inspect redis04 | grep "172.17"
8 172.172.0.5
9 [root@localhost ~]# docker inspect redis05 | grep "172.17"
10 172.172.0.6
11 [root@localhost ~]# docker inspect redis06 | grep "172.17"
12 172.172.0.7
1 redis-cli --cluster create 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 --cluster-replicas 1
1 root@d5fb8214a10a:/data# cat nodes-6379.conf
2 748eb947ae5ac0c721740870ad44cb356a4b0ca5 172.17.0.4:6379@16379 master - 0 1598101846000 3 connected 10923-16383
3 8e986c400c6b0d47064ee2fbf7a391574042dbc4 172.17.0.6:6379@16379 slave 092994cf7044995d41a876370af56c97894adea0 0 1598101846000 1 connected
4 df1c66d381237ed63a6a6045c84942b7a7f9df9 172.17.0.5:6379@16379 slave 748eb947ae5ac0c721740870ad44cb356a4b0ca5 0 1598101847085 3 connected
5 092994cf7044995d41a876370af56c97894adea0 172.17.0.2:6379@16379 myself,master - 0 1598101844000 1 connected 0-5460
6 220fba07c2e345c8aa4578e8bb3b45451377d335 172.17.0.7:6379@16379 slave bb02a3720ff638ea7edb147580e9ffa1dce29726 0 1598101845000 2 connected
7 bb02a3720ff638ea7edb147580e9ffa1dce29726 172.17.0.3:6379@16379 master - 0 1598101846077 2 connected 5461-10922
8 vars currentEpoch 6 lastVoteEpoch 0
1 172.17.0.2:6379>cluster nodes # 查看本机信息
2 172.17.0.2:6379>cluster info # 查看集群信息
3 172.17.0.2:6379>set lan golang # master插入数据(可能会报错,叫我们去别的实例存)
4 172.17.0.3:6379>get lan # node查询数据
5 (error) MOVED 5798 172.17.0.2:6379 # 告诉我们该数据在172.17.0.2上
6 172.17.0.5:6386> keys * # 查键
7 1) "lan"
解决(error) MOVED问题
通用唯一标识符 (UUID) 是一种特定形式的标识符,在大多数实际用途中可以安全地认为是唯一的。两个正确生成的 UUID 相同的可能性几乎可以忽略不计,即使它们是由不同的各方在两个不同的环境中创建的。这就是为什么说 UUID 是普遍唯一的。
dockerfile是用来构建dokcer镜像的文件!命令参数脚本! 通过以下脚本可以生成镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层!