SSL 證書可以在本地託管的網站上使用嗎?
我試圖在我的本地伺服器上安裝 Let’s Encrypt。但我不能,因為它拋出了我需要完全限定域名 (FQDN) 的錯誤。我
server.arch.local
用作我的主機名。它不符合 FQDN 標準嗎?現在我開始懷疑 SSL 證書是否可以在本地託管的網站上使用。如果有人可以消除我的疑慮或告訴我在哪裡可以找到有關它的詳細資訊,我將不勝感激。
我會把它分成兩個單獨的問題……
- SSL 證書可以在本地託管的網站上使用嗎
是的,SSL 證書可以在本地託管的網站上使用。從技術角度來看,是否在本地都沒有區別。
- 全域名
server.arch.local
滿足 FQDN 的技術要求,但是一旦有公開信任的 CA,他們就無法提供指向“.”含義中非“公開”域的證書。DNS 系統鏈。它與主題 (CN) 以及 SAN(主題替代名稱)相關。此限制不僅與 Let’s Encrypt 有關,還與一般要求有關。如何使它工作
公共區域
您可以購買任何(根據價格隨意選擇)公共域,然後您可以獲得公眾信任的證書
自己的證書
- 自簽單證
如果您只有這台伺服器,您可以輕鬆地做自己的自簽名證書,只是使用者必須明確地對其設置信任。您可以搜尋一些操作方法,或者如果您只想測試一些東西,您可以嘗試
openssl req -newkey rsa:2048 -x509 -subj "/CN=server.arch.local" -keyout /tmp/server-key.pem -out /tmp/server-cert.pem -days 3650 -nodes
此“簡單”證書沒有 SAN 或 x509 副檔名,但由於它是自簽名的,因此無論如何都會手動顯式設置為受信任。它將被伺服器接受。
- 自簽名 CA
如果您想擁有更多伺服器,您可以創建自簽名 CA,使用者手動將其設置為信任,然後您可以為每個伺服器生成證書。對於此選項,您必須在 x509 擴展級別上正確執行此操作,以使其在 CA 鏈中受信任。它並沒有那麼複雜,但是沒有“單行”範例;-)。