最近一直紮根公司,連續加班,忙於工做,很久沒能靜下來寫寫東西了。php
恰好前段時間給我同事佈置個生成 https 證書的任務,發現不少人都是尋求於阿里雲、七牛等國內大廠提供的免費或者付費證書。python
但若是這些大廠不提供服務了呢?因此咱們有必要本身製做證書。nginx
因此今天給你們推薦一個工具 —— 「certbot」,能夠快速生成證書,並且還能夠和 apache、nginx 等完美結合使用。git
certbot 能夠知足常規的軟件和服務系統:web
Certbot is an easy-to-use automatic client that fetches and deploys SSL/TLS certificates for your webserver. Certbot was developed by EFF and others as a client for Let’s Encrypt and was previously known as 「the official Let’s Encrypt client」 or 「the Let’s Encrypt Python client.」 Certbot will also work with any other CAs that support the ACME protocol.apache
摘自:certbot.eff.org/about/centos
簡單的說,就是 Let's Encrypt 這個免費、自動化、開放的證書籤發服務的客戶端工具,是用 Python 開發的。bash
接下來經過結合 CentOS 7 和 Nginx 環境來講說如何安裝使用 certbot。dom
根據官網 (certbot.eff.org/#centosrhel…) 的步驟來安裝 certbot,發現會報 pyOpenSSL 版本低的問題,因此首先須要安裝 pyOpenSSL 最新版:工具
1. 先卸載 pyOpenSSL
sudo yum erase pyOpenSSL
複製代碼
2. 在 http://rpm.pbone.net/index.php3/stat/2/simple/2 搜 pyOpenSSL
3. 選擇一個下載源下載:
wget ftp://mirror.switch.ch/pool/4/mirror/centos/7.4.1708/cloud/x86_64/openstack-ocata/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm
複製代碼
4. 安裝
sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
複製代碼
只要一條命令便可:
sudo yum install certbot certbot-nginx
複製代碼
使用也很方便,只要輸入命令,而後根據提示便可:
certbot --nginx
複製代碼
而後,讓你選擇哪一個域名須要 https 協議的:
不如所料的成功了:
看看運行效果吧:
最後根據官網的提示,須要作個定時器來時不時 renew 下:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
複製代碼
由於時間關係,沒有嘗試使用 certbot 的其它功能,但對於如何生成 https 證書的小白來講,我以爲 certbot 提供極大的便利,固然如何本身徒手生成證書,或者使用 Let's Encrypt 生成證書,我相信市面上的教程不少,這裏就再也不贅述了。
若是你以爲 certbot 還不錯,你也能夠試試哦~~~
解決Received 1 certificate(s), first certificate had names 的問題
// centos 6.8 的環境下
sudo ./certbot-auto --nginx -d git.***.com
複製代碼
「完」
coding01 期待您繼續關注
也很感謝您能看到這了