CentOS系统Nginx配置免费https证书

本文介绍如何使用Let'sEncrypt项目免费申请SSL证书,并详细说明了在Linux环境下使用certbot工具进行证书申请的过程,包括工具准备、命令执行及Nginx配置等关键步骤。

免费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-auto
chmod   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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值