大家知道https的站點(diǎn),都是需要CA機(jī)構(gòu)來頒發(fā)證書的。如果不是CA機(jī)構(gòu)頒發(fā)的證書,在使用瀏覽器瀏覽的時(shí)候會(huì)報(bào)證書錯(cuò)誤。
但是https的證書一般來說是要付費(fèi)購買的,今天我們使用Let's Encrypt免費(fèi)實(shí)現(xiàn)站點(diǎn)的https功能。文章以我自己的網(wǎng)站為例:www.athrob.com (OS:CentOS 6,使用Nginx)
關(guān)于Let's Encrypt,大家自行百度或Google。
letsencrypt官方主頁:https://letsencrypt.org/
關(guān)于letsencrypt的原理請參考:https://letsencrypt.org/how-it-works/
0x00??? 如何使用
簡單的五條命令即可:
[1] sudo yum install epel-release
[2] wget https://dl.eff.org/certbot-auto
[3] chmod a+x certbot-auto
[4] ./certbot-auto
[5] ./certbot-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com
備注:
1.你需要對webserver有完全的訪問權(quán)限
2.能夠正常訪問該站點(diǎn)3.有效期一般是三個(gè)月,到期需要重新renew一下
執(zhí)行完第5條命令,看到如下信息,說明證書已經(jīng)頒發(fā)完成:
證書公鑰路徑:/etc/letsencrypt/live/athrob.com/fullchain.pem
證書私鑰路徑:/etc/letsencrypt/live/athrob.com/privkey.pem
其中athrob.com這個(gè)文件夾為站點(diǎn)名稱,不同的站點(diǎn)文件夾名稱是不一樣的。
0x01??? Nginx配置
#監(jiān)聽80端口,實(shí)現(xiàn)80端口到443端口的流量跳轉(zhuǎn)
server {
? listen??? 80;
? server_name??? athrob.com;
? return?? 301 https://$server_name$request_uri;
}
#nginx配置https信息,監(jiān)聽443端口
server {
??? listen?????? 443 ssl;
??? server_name? athrob.com;
#??ssl????????????????? on;
??? ssl_certificate????? /etc/letsencrypt/live/athrob.com/fullchain.pem;
??? ssl_certificate_key? /etc/letsencrypt/live/athrob.com/privkey.pem;
??? ssl_session_timeout? 5m;
}
備注:使用Apache的請自行查資料配置
0x02????結(jié)果
最終的結(jié)果,如下圖:
0x03????其他
如果是使用其他OS或者Apache的,可以參考官網(wǎng):https://certbot.eff.org/
不足之處,請批評指正。
如有問題,請私信聯(lián)系。
謝謝!