我有一個來自 的子網域no-ip.org
。我想為我的網域取得免費的 SSL 憑證。這對於子域是否可行?
答案1
在 Web 或郵件伺服器上使用憑證至少有三種選擇:
選項 0:從 Let's Encrypt 取得證書
讓我們加密可能是您獲得免費的、瀏覽器信任的 SSL 憑證的一種方式。自從提出這個問題以來,這是一個新選項。
Let's Encrypt 的運作方式與其他 CA 略有不同。您在伺服器上安裝一個小型代理,它每隔幾個月就會自動更新您的憑證。
我還不太確定這個選項是否有效,因為有一些 GitHub 問題正在討論允許 No-IP 網域使用其服務的變更:
即使今天這不起作用,也要留意它,因為它似乎很快就會準備好。
選項 1:取得由憑證授權單位 (CA) 簽署的 SSL 憑證
使用 CA 簽署的憑證的優點是您的訪客將自動信任您的憑證。作業系統和 Web 瀏覽器附帶了受信任的根憑證列表,預設情況下,只有由這些受信任的憑證簽署的憑證才被視為受信任。
缺點是主要作業系統和瀏覽器中包含的大多數 CA 都對其服務收費。
CA 確實為子網域提供憑證;但是,他們通常有某種簡單的驗證過程來證明您擁有該子網域的控制權。不同的 CA 對於為 no-ip.org 和其他動態 DNS 提供者的子網域頒發憑證可能有不同的政策。
您可能會調查的一小部分潛在 CA 包括:
選項 2:從信任網路提供者取得 SSL 憑證
據我所知,唯一的信任網路提供者是CAcert.org。這是一個提供免費 SSL 憑證的憑證授權單位。但是,在足夠多的其他 CAcert.org 使用者驗證您的身分之前,憑證不會驗證有關您的網域的任何資訊。一旦您獲得了足夠的“保證點”,您就可以在您的證書中添加名稱並擁有更長的有效期。
然而我不相信CAcert.org 的根證書預設包含在大多數瀏覽器中。您的訪客需要安裝此根證書,否則他們將收到可怕的證書警告:
選項 3:產生自簽名證書
如果實在無法購買證書,可以建立自簽名證書。這不需要任何 CA,但其他電腦不會自動信任您的憑證。訪問受自簽名證書保護的網站的訪客將收到可怕的證書警告。
根據您的系統,有不同的方法可以執行此操作。如果您使用 OpenSSL,則可以使用說明由 Akadia.com 提供:
# Generate a private key
openssl genrsa -des3 -out server.key 1024
# Generate a certificate signing request (CSR)
openssl req -new -key server.key -out server.csr
# Generate the self-signed certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
然後您將安裝server.cst
在您選擇的網路伺服器中。
答案2
您可以從 Comodo SSL 獲得 90 天的免費子網域憑證。這是我發現的唯一一個由普遍信任的憑證授權單位提供的、免費且對子網域有效的憑證。我個人使用的是 no-ip 提供的免費網域。不幸的是,它的有效期只有 90 天,之後的費用是 100 美元/年(或對於多年承諾來說更少)。