不使用域名,IP地址如何申請(qǐng)SSL證書(shū)?

有些特定需求環(huán)境下,我們不希望使用域名,而需要使用IP地址+端口的形式直接訪問(wèn)。這種多數(shù)是在一些企業(yè)的應(yīng)用系統(tǒng)在公網(wǎng)上跑,如果用域名,通過(guò)備案+子域名暴力窮舉等方式會(huì)暴露出系統(tǒng)的地址,雖然跑直接IP也會(huì)暴露,但是能多一層防護(hù)當(dāng)然更好,其實(shí)最主要是像作者這種企業(yè),上級(jí)就不允許你域名有映射,用域名全部要備案。
不用域名,又想跑ssl,以前以為只能是使用自簽的證書(shū),每次用戶訪問(wèn)顯示一個(gè)大大的不信任,后來(lái)才知道其實(shí)IP地址也可以申請(qǐng)SSL證書(shū),本文主要講解IP證書(shū)的購(gòu)買、驗(yàn)證和配置。



一、IP證書(shū)務(wù)必咨詢清楚
大多數(shù)的證書(shū)廠商都是主推域名證書(shū),購(gòu)買IP證書(shū)需要提前了解清楚是否支持IP簽發(fā)證書(shū)了。比如在阿里云上的證書(shū)購(gòu)買頁(yè)面,我就沒(méi)找到有IP證書(shū)的描述。叫你輸入的就是域名購(gòu)買。
填寫(xiě)IP地址后,只有OV證書(shū)可以購(gòu)買。價(jià)格最便宜的也是Globalsign,2K多。作者也就沒(méi)去購(gòu)買了,直接尋求其他途徑了。
作者一直在使用寶塔面板來(lái)做linux服務(wù)器管理,之所以購(gòu)買他家的一個(gè)是便宜,一個(gè)是可以配合面板做設(shè)置。DV的證書(shū),如果不是對(duì)加密性要求很高,完全就夠用。作者就是只要不彈出不安全提示就可以,有這個(gè)提示會(huì)給你日常工作找來(lái)很多麻煩事。
就在些這篇文章前一個(gè)小時(shí),因?yàn)楣綱PN服務(wù)器的IP證書(shū)過(guò)期了,早上8點(diǎn)開(kāi)始,作者電話就被打爆了,都問(wèn)公司VPN站點(diǎn)被黑了嗎,能不能訪問(wèn),要怎么操作繼續(xù)。
懂證書(shū)配置的,完全可以省掉200一年的人工服務(wù)。作者選擇的是瑞安信的,也就216一年,算是便宜,畢竟是國(guó)內(nèi)老牌證書(shū)廠商,寶塔還真沒(méi)注意他自己什么時(shí)候開(kāi)始做證書(shū)的。
二、 證書(shū)申請(qǐng)和驗(yàn)證
DV型的證書(shū)驗(yàn)證比較方便,只需要驗(yàn)證域名或者IP的所有權(quán)。對(duì)于域名驗(yàn)證可以采用DNS驗(yàn)證,也就是廠商會(huì)讓你域名做一個(gè)cname的解析,還有就是文件的驗(yàn)證,要求是站點(diǎn)目錄下方一個(gè)指定的txt文件。在寶塔購(gòu)買證書(shū)后,在后臺(tái)的證書(shū)管理頁(yè)面就可以看到你購(gòu)買的證書(shū)列表。
1. 完善資料申請(qǐng)證書(shū)
如果你購(gòu)買的是IP證書(shū),那么會(huì)明確的顯示是IP SSL 證書(shū),如果是域名的就沒(méi)有IP兩個(gè)字,注意不要搞錯(cuò)證書(shū)類型。點(diǎn)擊完善資料。域名部分就輸入你的IP即可,選擇文件驗(yàn)證,建議選HTTP了,選HTTPS,但又沒(méi)有證書(shū)或者證書(shū)是自簽的,會(huì)導(dǎo)致后面驗(yàn)證失敗。
填寫(xiě)的驗(yàn)證資料,建議是真實(shí)有效的,雖然不會(huì)去核查。
2. 驗(yàn)證所有權(quán)
IP證書(shū)是只能通過(guò)文件驗(yàn)證的,需要按照指引給該IP建立一個(gè)站點(diǎn),并把驗(yàn)證文件放到指定的目錄下去。本文也不闡述如何建站了,找臺(tái)服務(wù)器臨時(shí)把IP指向過(guò)去,或者把80端口映射過(guò)去都行,裝個(gè)apache或者ngnix。 驗(yàn)證時(shí)一次性的,通過(guò)后就不需要了。
驗(yàn)證失敗狀態(tài)碼說(shuō)明
失敗[-1]:域名未解析
失敗[-2]:驗(yàn)證文件不存在
失敗[-3]:請(qǐng)求超時(shí),無(wú)法訪問(wèn)驗(yàn)證文件
失敗[-4]:網(wǎng)站開(kāi)啟301/302/強(qiáng)制HTTPS,導(dǎo)致無(wú)法驗(yàn)證文件
失敗[-5]:拒絕訪問(wèn)驗(yàn)證文件
失敗[ 0]:未知原因
三、 配置證書(shū)舉例
在寶塔中配置證書(shū)時(shí)很簡(jiǎn)單的。證書(shū)申請(qǐng)成功后,會(huì)拿到一個(gè)壓縮包,解壓后如下
提供了主流的web服務(wù)器支持的證書(shū)格式。在寶塔面板中配置超級(jí)簡(jiǎn)單,你都不用去下載證書(shū),直接進(jìn)入倒寶塔面板頁(yè)面,在你所需要配置的站點(diǎn)設(shè)置頁(yè)面,ssl界面,選擇你要部署的證書(shū)點(diǎn)擊部署即可。
如果需要手動(dòng)配置證書(shū),以ngnix為例,核心就是要就是修改配置文件,在需要配置證書(shū)的站點(diǎn)server塊中指定證書(shū)crt文件和私鑰key文件所在的目錄。
ssl_certificate /path/to/example.com.crt; # 證書(shū)文件路徑
ssl_certificate_key /path/to/example.com.key; # 私鑰文件路徑
# 其他SSL配置參數(shù)
ssl_protocols TLSv1.2 TLSv1.3; # 支持的協(xié)議版本
ssl_ciphers HIGH:!aNULL:!MD5; # 加密套件
ssl_prefer_server_ciphers on; # 優(yōu)先使用服務(wù)器端的加密套件


如果有過(guò)域名證書(shū)申請(qǐng)、配置和驗(yàn)證的經(jīng)驗(yàn)的話,對(duì)于IP證書(shū)的操作就比較簡(jiǎn)單得心應(yīng)手了,如果條件允許,大家證書(shū)就買3年的比較好,如果每年買你都得重新驗(yàn)證一次,還是有些麻煩的。
