CentOS系統Nginx配置免費https證書

免費SSL證書申請使用Let's Encrypt。html

一、Let's Encrypt是國外一個公共的免費SSL項目,由 Linux 基金會託管,由Mozilla、思科、Akamai、IdenTrust和EFF等組織發起。
二、Let's Encrypt證書有效期三個月,每三個月須要續簽證書。
三、Let's Encrypt註冊主域名認證頻率20個/周,同一域名重複認證 5次/周。nginx

Linxu下可使用certbot作簽名證書。web

certbot的官網地址https://certbot.eff.org/json

一、工具準備api

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

certbot的兩種工做方式:bash

(1)、 standalone 方式: certbot 會本身運行一個 web server 來進行驗證。若是咱們本身的服務器上已經有 web server 正在運行 (好比 Nginx 或 Apache ),用 standalone 方式的話須要先關掉它,以避免衝突。服務器

(2)、webroot 方式: certbot 會利用既有的 web server,在其 web root目錄下建立隱藏文件, Let’s Encrypt 服務端會經過域名來訪問這些隱藏文件,以確認你的確擁有對應域名的控制權。session

二、使用certbot-auto命令,生成證書app

./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是須要申請證書的域名,能夠填寫多個子域名。這裏換成你本身的域名。

三、命令執行過程當中須要輸入郵箱地址,確認等信息。直接輸入Y或YES。

四、執行完成後生成證書以下:

# 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

五、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;
	}
}

六、啓動nginx或從新加載

nginx -s reload

七、訪問驗證

相關文章
相關標籤/搜索