博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS系统Nginx配置免费https证书
阅读量:6970 次
发布时间:2019-06-27

本文共 2581 字,大约阅读时间需要 8 分钟。

hot3.png

免费SSL证书申请使用Let's Encrypt。

1、Let's Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起。

2、Let's Encrypt证书有效期三个月,每三个月需要续签证书。
3、Let's Encrypt注册主域名认证频率20个/周,同一域名重复认证 5次/周。

Linxu下可以使用certbot做签名证书。

certbot的官网地址https://certbot.eff.org/

1、工具准备

wget https://dl.eff.org/certbot-autochmod   a+x   ./certbot-auto

certbot的两种工作方式:

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

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

2、使用certbot-auto命令,生成证书

./certbot-auto certonly --webroot -w /usr/local/nginx/html/ -d aaa.sunwukong.cn -d bbb.sunwukong.cn -d ccc.sunwukong.cn -d dddd.sunwukong.cn

/usr/local/nginx/html/  是nginx的web目录

aaa.suwukong.cn是需要申请证书的域名,可以填写多个子域名。这里换成你自己的域名。

3、命令执行过程中需要输入邮箱地址,确认等信息。直接输入Y或YES。

4、执行完成后生成证书如下:

# tree /etc/letsencrypt//etc/letsencrypt/├── accounts│   ├── acme-staging-v02.api.letsencrypt.org│   │   └── directory│   └── acme-v02.api.letsencrypt.org│       └── directory│           └── 009533753e7a6b7f6b27db646b9327da│               ├── meta.json│               ├── private_key.json│               └── regr.json├── archive│   └── mapp.sunwukong.cn│       ├── cert1.pem│       ├── chain1.pem│       ├── fullchain1.pem│       └── privkey1.pem├── csr│   └── 0000_csr-certbot.pem├── keys│   └── 0000_key-certbot.pem├── live│   └── mapp.sunwukong.cn│       ├── cert.pem -> ../../archive/mapp.sunwukong.cn/cert1.pem│       ├── chain.pem -> ../../archive/mapp.sunwukong.cn/chain1.pem│       ├── fullchain.pem -> ../../archive/mapp.sunwukong.cn/fullchain1.pem│       ├── privkey.pem -> ../../archive/mapp.sunwukong.cn/privkey1.pem│       └── README├── renewal│   └── mapp.sunwukong.cn.conf└── renewal-hooks    ├── deploy    ├── post    └── pre

5、Nginx配置

server {	listen 443 ssl;	server_name mapp.sunwukong.cn;	ssl_certificate /etc/letsencrypt/live/mapp.sunwukong.cn/fullchain.pem;	ssl_certificate_key /etc/letsencrypt/live/mapp.sunwukong.cn/privkey.pem;	ssl_session_timeout 5m;	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;	ssl_prefer_server_ciphers on;	location / {	    root   html;	    index  index.html index.htm;	}	location /api/ {		 proxy_pass http://127.0.0.1:8080;	}	location = /favicon.ico {	    log_not_found off;	    access_log off;	}	error_page   500 502 503 504  /50x.html;	location = /50x.html {	    root   html;	}}

6、启动nginx或重新加载

nginx -s reload

7、访问验证

41dc8b38cc1aa3816cec21c5e77338012fa.jpg

转载于:https://my.oschina.net/u/209161/blog/1930891

你可能感兴趣的文章
[K/3Cloud] KSQL 关联表更新字段Update语法
查看>>
百度2011校园招聘笔试题(一)
查看>>
应用程序唯一运行实例C#代码实现(转)
查看>>
第十一章:【UCHome二次开发】功能修改
查看>>
PYTHON2.day10
查看>>
隐式类型转换
查看>>
关于网页前端的技术分享
查看>>
2018湖南多校第二场-20180407 Barareh on Fire
查看>>
批量杀死MySQL连接的几种方法
查看>>
3.05 在一个表中查找与其他表不匹配的记录
查看>>
python 截取汉字拼音首字母
查看>>
[zz]LIS
查看>>
附加作业:源自刘乾老师的问题
查看>>
硬件篇之MMU
查看>>
如何打包成jar包自己看呢?
查看>>
不可变数组和可变数组
查看>>
Poj(2253),Dijkstra松弛条件的变形
查看>>
Poj(2195),最小费用流,SPFA
查看>>
shell编程系列4--有类型变量:字符串、只读类型、整数、数组
查看>>
WP开发笔记——去除 HTML 标签
查看>>