本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
昨天因為安裝一套 nodejs 的 Uptime 專案發現,原來在nodejs的眼底下,我網站SSL是不及格的XD
ERROR: UNABLE_TO_VERIFY_LEAF_SIGNATURE
這樣的錯誤是因為nodejs沒辦法驗證我憑證的資訊!
疑問點1是: 那為啥瀏覽器認得出來?
因為現行主流
瀏覽器會自己去抓中繼憑證來比,很自動的就幫你配好驗證。
疑問點2是: 那怎辦,總不會就讓瀏覽器自己來其他工具都不用玩了?
方法如上面的參考文獻,就是把那堆憑證商發給你的憑證檔案"串"在一起就好。
cat www.mxp.tw.crt XXX.ca.crt XXX.root.crt > ssl-bundle.crt
在Linux上就是把這些憑證檔案給一個疊一個起來。
相關資料可以參考: Which is Root? Which is Intermediate?
階層是: 網站憑證->中繼憑證->根憑證
至於安裝在Server上就要看使用的是哪套 HTTP Server了!
我選用的是 Nginx,可以參考: Certificate Installation: NGINX
其他族繁不及備載的可以參考: Certificate Installation
裝好啟用後
出現問題點3: 我的SSL憑證到底還有沒有其他毛病或是不合標準的地方?
恩,答案還是有的!
- 測試憑證是否正確安裝的網站: Certificate Installation Checker
- COMODO SSL Analyzer v0.9.19 (BETA)
- 給你的SSL憑證網站打分數SSL Server Test
上面三個分析的網站都會逐一驗證憑證資訊還有伺服器設定,將憑證串起來只是基本,完整的驗證後就是設定部分!
一開始分數只有B,測試網站的提示是需要針對加密強度與支援度做提升,然後找了一些優化的資訊配置上主機後就提升到A+囉~
最明顯的就是本來瀏覽器提示網站上採用的加密連線是128bit,改進後提升到256bit了!
下面是優化的資訊:
- 安裝最新版Nginx(支援與安全性提升)
- 根據處理器配置好worker後,將SSL快取打開,指定支援協定,設定啟動ciphers
- 加入Strict Transport Security的header,使得瀏覽器請求皆為加密連線
- 啟用OCSP stapling做憑證驗證時的快取 - 2014/09/08補
下面是config設定檔片段,為Strict Transport Security
與OCSP stapling
的設定 - 2014/09/14補
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ssl/www.mxp.tw/trustchain.crt;
resolver 8.8.8.8 8.8.4.4;
參考: Enable Perfect Forward Secrecy for nginx 與 Optimizing HTTPS on Nginx
Nginx官方資源: Configuring Https Servers
呼,到這就差不多了~ 另外再找時間來測一下SPDY吧
我也太慘了吧!居然是F……
我不想活了
哈哈,不會啦! 至少你發現這篇,有空可以自己來tune一下囉!
我完全不知道怎麼調整耶
沒你這麼厲害
我現在碰到一個問題
不知道可以問你嗎?
https://www.liverx.net 在android手機上,會跳出警告
但是我明明花錢買的
不知道是哪裡錯了
我手邊沒有Android的手機可以測耶! 用iPhone上看是正常的沒錯,請問你說的警告是甚麼呢?
如果可以描述的清楚點會更能抓到解決辦法呦!
請問您手機是用的safari嗎?
有沒有chrome
警告就是出現不安全的警告
類似免費憑證出現的警告
手機上這兩款瀏覽器都幫你查看過囉! 沒有警訊~
你說的警告是在URL列上鎖頭帶有黃色三角型嗎?
雖說我也沒看到這樣的警告,但若不是紅色X的提示就不用擔心!(需優化的意思)
可以的話螢幕拍照將錯誤的畫面上傳看看。
傳了好幾次都被砍掉
這個看起來是沒有安裝好或是支援度不夠好的憑證哦!
方便請問一下是哪家購買的哪個憑證嗎? 我一樣用chrome瀏覽是沒問題,偏向設定問題的機會大點!
後來我請朋友幫我裝好了
我是在 ssls.com 這家買的
很便宜的
加入Strict Transport Security的header,使得瀏覽器請求皆為加密連線
啟用OCSP stapling做憑證驗證時的快取 – 2014/09/08補
能寫一下這裡的教學嗎!感恩
我把設定檔資訊補在文章內囉! 你可以參考看看~
還有個 dhparam 你有作嗎?
# openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
nginx.conf:
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
Wow, 這個是? 我還不知道耶! 感謝你的資訊,晚點來做點功課!
做 dhparam 超慢的,做到快睡著