certbot在Centos7上配置合法签名证书,实现nginx的https访问-咖啡猫Mr-51CTO博客

标签: | 发表时间:2019-06-01 22:42 | 作者:
出处:https://blog.51cto.com

咖菲猫-李常明笔记


  公司因之前使用的openssh创建的自签名证书,有一个弊端,就是在某些客户端上不能使用此证书,无法使用https连接,所以,研究了一下certbot 做签名证书!

certbot的官网地址:

https://certbot.eff.org/

1、制作证书前的准备:

你需要有一个公网地址,并绑定合法域名

2、开始制作:

(1)、下载Certbot客户端:

wget https://dl.eff.org/certbot-auto

(2)、下载后,进入下载的目录,添加执行权限

chmod   a+x   ./certbot-auto


3、介绍一下certbot的两种工作方式:

   (1)、 standalone 方式: certbot 会自己运行一个 web server 来进行验证。如果我们自己的服务器上已经有 web server 正在运行 (比如 Nginx 或 Apache ),用 standalone 方式的话需要先关掉它,以免冲突。

  (2)、webroot 方式: certbot 会利用既有的 web server,在其 web root目录下创建隐藏文件, Let’s Encrypt 服务端会通过域名来访问这些隐藏文件,以确认你的确拥有对应域名的控制权。

4、我使用的是webroot方式,自己搭建一个nginx服务器,配置location字段,如下:

        (1)、使用rpm安装nginx

sudo  yum  -y  install  nginx

(2)、编辑nginx的配置文件,修改以下参数:

在http 段范围

clipboard.png


(3)、修改完nginx配置文件后,使用nginx  -t命令,测试配置文件语法:

sudo  nginx   -t 

#返回OK  表示配置文件修改成功

(4)、启动nginx服务

sudo  nginx
netstat  -anplut  | grep  80    #检测80端口,是否在监听

(5)、使用certbot-auto命令,生成证书

./certbot-auto certonly --webroot -w /usr/share/nginx/html/ -d  [填写合法域名的地址]

#-w   表示  nginx中指定的root 网站根目录的路径

(6)、上述命令执行成功后,返回以下界面:

clipboard.png


从上图中可以看到,会在/etc/letsencrypt/live下 生成你的域名的文件夹,并且目录下会有此文件:

[centos@shuzhiyuan1 ~]$ tree /etc/letsencrypt/
/etc/letsencrypt/
├── accounts
│?? └── acme-v01.api.letsencrypt.org [error opening dir]
├── archive [error opening dir]
├── csr
│?? └── 0000_csr-certbot.pem
├── keys [error opening dir]
├── live
│?? └── kafeimao.com (别名,最终,看自己域名)
│??     ├── cert.pem -> ../../archive/kafeimao.com/cert1.pem
│??     ├── chain.pem -> ../../archive/kafeimao.com/chain1.pem
│??     ├── fullchain.pem -> ../../archive/kafeimao.com/fullchain1.pem
│??     ├── privkey.pem -> ../../archive/kafeimao.com/privkey1.pem
│??     └── README
├── options-ssl-apache.conf
├── options-ssl-nginx.conf
├── renewal
│?? └── kafeimao.com.conf
├── renewal-hooks
│?? ├── deploy
│?? ├── post
│?? └── pre
└── ssl-dhparams.pem

12 directories, 10 files


nginx的https 访问,需要用到 上述两个 pem的证书文件:


5、测试配置nginx支持https访问,测试 https的证书是否可用:

server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  kafeimao.com;
        ssl           on;
        ssl_certificate "/etc/letsencrypt/live/kafeimao.com/fullchain.pem";
        ssl_certificate_key "/etc/letsencrypt/live/kafeimao.com/privkey.pem";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
                root  /usr/share/nginx/html/kafeimao.com;
                index  index.html;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
  }

6、重载nginx服务;

sudo   nginx  -s  reload


7、访问域名,测试https连接:

clipboard.png


8、发现证书是可用的,值得祝贺,你已经成功了!  非常简单


总结:

    certbot默认注册的证书 ,有效期是90天, 需要更新证书

使用命令进行更新:

(1)、手动更新

./certbot-auto  renew   -v

(2)、自动更新

./certbot-auto  renew  --quiet  --no-self-upgrade

 在注册证书时,如果遇到此错误:

clipboard.png


这个错误,跟命令中使用了webroot方式,(官网也推荐这种方式)所以,nginx里要配置正确的location字段,就是server中的配置;


此文仅做个笔记,没有什么深奥的东西,咖菲猫一直在前进;


相关 [certbot centos7 合法] 推荐:

certbot在Centos7上配置合法签名证书,实现nginx的https访问-咖啡猫Mr-51CTO博客

- -
  公司因之前使用的openssh创建的自签名证书,有一个弊端,就是在某些客户端上不能使用此证书,无法使用https连接,所以,研究了一下certbot 做签名证书. 你需要有一个公网地址,并绑定合法域名. (1)、下载Certbot客户端:. (2)、下载后,进入下载的目录,添加执行权限. 3、介绍一下certbot的两种工作方式:.

centos7作为web服务器优化

- - 操作系统 - ITeye博客
centos7作为web服务器优化. 1、关闭firewalld:. systemctl stop firewalld.service #停止firewall. systemctl disable firewalld.service #禁止firewall开机启动. 2、安装iptables防火墙.

CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装

- - 企业架构 - ITeye博客
2.2 检查ssh安装情况,如果没有则安装ssh. 4.1 maven中央仓库的配置(改成oschina,增加访问速度). 4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0. 5.2 配置所有slave节点. 5.3 修改hadoop-env.sh和yarn-env.sh.

CentOS7服务器基本安全防护篇

- - 企业架构 - ITeye博客
这个只是个人笔记,方便日后查阅,若有错误,欢迎同行帮忙纠正. 1.最近买的腾讯云和阿里云服务器均受到攻击,以前不懂这方面,所以也没在意. 接着便着手了解这方面的知识,经过网上查阅和向同行请教,现在基本上对服务器的基本防护算是入门了. 1.通过查看项目里面的日志  cat catalina.out:.

centos7使用lldb调试netcore应用转储dump文件 - czd890 - 博客园

- -
centos7下安装lldb,dotnet netcore 进程生成转储文件,并使用lldb进行分析. 随着netcore应用在linux上部署的应用越来越多,碰到cpu 100%,内存暴涨的情况也一直偶有发生,在windows平台下进程管理器右键转储,下载到本地使用windbg或者直接vs分析都比较方便.

证据有问题,补补就合法?

- 茫茫 - 南方周末-热点新闻
一起“没有作案时间的抢劫案”,5年后,控方终于凑出被告人的作案时间. 王朝原审一审时的辩护律师王建称此案是“牙签搭成的证据大厦、鼻涕粘成的证据链”.

中国拟修法 “监视居住”异议人士将合法

- cindykk - 联合早报网 zaobao.com - 中国新闻
中国计划修改刑事诉讼法,让警方有权软禁嫌犯长达六个月,而无需通知其家人嫌犯软禁的地点和原因. 人权组织和法律学者批评,当局修改法律后,以“监视居住”的名义强行羁押异议人士将成为合法.

网络约车服务获得合法地位

- - Solidot
交通部公布了《网络预约出租汽车经营服务管理暂行办法》,为 Uber 及其中国竞争对手滴滴出行的合法运营开了绿灯. 滴滴出行和 Uber 都表示,欢迎这一新规的出台,并准备予以执行.

Google 无人驾驶汽车将很快在内华达州合法上路

- kid - cnBeta.COM
如果你将来在美国内华达州境内看到一辆无人驾驶的丰田Prius或奥迪TT,别惊讶,你只是看到了一辆用Google技术驱动的无人驾驶汽车而已. 因为内华达州刚刚通过了无人驾驶汽车的立法,Google的无人驾驶汽车很快就将合法上路了.