小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

折騰Let's Encrypt免費通配符證書的自動更新

 文檔客 2018-06-26

Let's Encrypt免費證書我想大家應該不陌生了;

最近幾年的免費證書,基本上都是Let's Encrypt和Symantec的免費證書,被拉黑的其它免費證書就不談了;

賽門鐵克(Symantec)的免費證書代理發(fā)布在服務運營商手中,所以大家都需要去單獨填表申請,還要手動設置dns(阿里云賬號一體的可以自動設置)。不過流程并不算復雜,基本上一天內(nèi)都能拿到證書。

Let's Encrypt的免費證書,是按照安全規(guī)范,每次簽發(fā)有效期為三個月的證書;這兩年的工具云集,而大家手上常用的,基本上就是和certbot了。

我的博客一直是用Let's Encrypt證書,早期使用初期版本,各種折騰;后來發(fā)現(xiàn)了更加快捷方便的certbot;至于證書的更新,基本上都是手動renew...雖然可以設置定時任務,但使用域名+ip的驗證方法,需要停443端口的占用;使用DNS的方法,DNS的TXT記錄有可能會出現(xiàn)更新。。。真是煩躁;后來也懶得去折騰其它的自動更新證書方案;

早在去年就聽說Let's Encrypt會在2018年推出通配符證書,就一直在等今年推出新的方案以后,把證書更新的方案改了。

什么是通配符證書?

話題就要說到,Let's Encrypt證書和其它免費證書的區(qū)別。

例如賽門鐵克的免費證書是單域名證書,就是只能申請一個主機域名;附贈www的主機名,例如申請domain.com的證書,會有備用的www.domain.com;如果abc.domain.com域名使用這個證書,就會導致簽名驗證失敗,瀏覽器不能正常訪問網(wǎng)站。

而Let's Encrypt的免費證書是多域名證書,只需要在申請時,將想要一起簽名的域名設置到配置中即可。

而通配符證書,我們只需要設置一個*.domain.com域名,那么之后的a.domain.com,b.domain.com等等,都可以使用這個證書進行加密;

回到文章想說的話題,其實在通配符證書上線前,已經(jīng)推出了基于DNS服務器API,自動更新DNS記錄和自動更新證書的方案。但我沒有去折騰,直到最近才看到lnmp一鍵包推出了自動更新通配符證書的方案,我才開始準備折騰。

關(guān)于lnmp一鍵包的自動更新方案是屬于lnmp一鍵包環(huán)境下的,所以我這里不細談這個折騰的過程,因為lnmp的集成,這個操作韓式蠻簡單的。戳這里查看相關(guān)教程

因為有一些環(huán)境,我并沒有采用lnmp一鍵包,所以我根據(jù)教程中提到的,折騰了一下。


PS:我的運行環(huán)境是ubuntu 16.04,不代表大家都是一樣的效果。

官方中文文檔:https://github.com/Neilpang//wiki/說明 

第一步,下載腳本;

curl https://get. | sh

安裝腳本時會出現(xiàn)個別情況,例如提示openssl沒有安裝,執(zhí)行相關(guān)語句安裝即可;例如apt install openssl

進入下載的腳本文件夾,按照官方中文文檔的提示,我們創(chuàng)建一個bash命令的別名;

cd ~/./
alias =~/./

第二步,生成證書;

在生成證書前,設置對應dns服務商的api授權(quán)配置;

可以在這個鏈接查找對應的dns服務商:https://github.com/Neilpang//tree/master/dnsapi 

例如,我是阿里云的dns,先在bash里面通過export設置;

export Ali_Key="xxx"
export Ali_Secret="xxx"

其中的xxx自行替換成對應的內(nèi)容。

 --issue --dns dns_ali -d domain.com

如果key和secret沒有問題,就會執(zhí)行一個120秒的等待生效時間。

申請成功示意圖


第三步,安裝證書;

基于的開發(fā)規(guī)劃,默認生成的證書是可能會出現(xiàn)目錄結(jié)構(gòu)變化的,所以需要將證書自動安裝到對應文件夾。

目錄的設計根據(jù)自己的需求來確定,提供的腳本沒有自動mkdir,需要手動創(chuàng)建出對應目錄。

 --installcert -d domain.com         --key-file /home/ssl/domain.com/domain.com.key         --fullchain-file /home/ssl/domain.com/fullchain.cer         --reloadcmd "service nginx reload"

最后的reloadcmd里面,service nginx reload在我版本中是可以生效的,部分版本需要使用service nginx force-reload;大家配完證書自己測試,按需使用;

第四步,部署證書;

證書的部署,根據(jù)不同的web服務器,有不同配置方法;

我給一個nginx的證書配置例子,沒有加入HSTS的,安全評級在A的樣子。

server
    {
        listen 443 ssl http2;
        ssl                          on;
        server_name                  domain.com;
        server_tokens                off;
        
        ssl_certificate              /home/ssl/domain.com/fullchain.cer;
        ssl_certificate_key          /home/ssl/domain.com/domain.com.key;
        
        ssl_ciphers                  EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;
        ssl_protocols                TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers    on;
        ssl_session_cache            builtin:1000 shared:SSL:10m;
        ssl_session_timeout          1d;
        ssl_session_tickets          on;
        
        location / {
            proxy_http_version       1.1;
            proxy_ignore_headers     Set-Cookie;
            proxy_pass               http://127.0.0.1:8081;
        }
    }

配置僅供參考,不代表運行就可以使用,是否采用反向代理,根據(jù)自己的情況定奪。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多