Google Let's Encrypt 證書

背景

因?yàn)閲鴥?nèi)域名不備案, 如果不使用HTTPS訪問網(wǎng)站, 那么會(huì)直接提示溫馨提示:該網(wǎng)站暫時(shí)無法訪問. 而且也正是因?yàn)镠TTP請(qǐng)求會(huì)被攔截, 所以Google Let's Encrypt命令行工具也無法使用, 因?yàn)槠湫枰ㄟ^HTTP請(qǐng)求來完成驗(yàn)證.

手工獲取證書

網(wǎng)站: SSL For Free

  1. 在輸入框中輸入多個(gè)域名 (使用空格隔開):
    api.domain.com class.domain.com www.domain.com
  2. 點(diǎn)擊Create Free SSL Certificate按鈕
  3. 選擇驗(yàn)證方式 - Manual Verification (DNS)
  4. 登錄DNS管理網(wǎng)站, 添加TXT記錄
    SSL FOR FREE網(wǎng)站會(huì)叫你手動(dòng)添加5條TXT DNS記錄. 比如說
    host為_acme-challenge.api.domain.com, 值為Ak0E7oILRNkxggHPYSQRykZKSF3oyrNq6P7c0HB4rTg. 那么在DNS管理那里添加TXT記錄的時(shí)候在host那里輸入_acme-challenge.api即可. 自己的域名(domain.com)那部分不需要寫進(jìn)去.
  5. 點(diǎn)擊Download SSL Certificate之前, 先手動(dòng)點(diǎn)擊那幾個(gè)網(wǎng)址驗(yàn)證一下, 因?yàn)镈NS記錄需要一些時(shí)間才能生效.
  6. 點(diǎn)擊Download SSL Certificate下載證書.

配置

解壓得到三個(gè)文件, 然后在命令行輸入:

echo -e "$(cat certificate.crt)\n$(cat certificate.crt)" > cert_chain.crt

這里要注意\n是必須的, 要保證合并的crt文件的格式如下:

-----BEGIN CERTIFICATE-----
secret
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
secret
-----END CERTIFICATE-----

即不能-----END CERTIFICATE----------BEGIN CERTIFICATE-----在同一行, 否則Nginx會(huì)報(bào)錯(cuò).

Nginx 配置:

ssl_certificate /path/cert_chain.crt;
ssl_certificate_key /path/private.key;

配置好后記得sudo service nginx restart一下.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容