免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

栏目: 编程工具 · 发布时间: 5年前

内容简介:為了讓更多網站可以加上綠鎖頭(https),並且提高網路的安全性,此服務免費提供網站 SSL 憑證,同時憑證不僅是免費的,還是屬於萬用憑證(包含所有子網域),雖然每次的憑證效期僅有三個月,但可以不斷的續約,對於每年需花個幾千、幾萬才能購買一個萬用憑證來說,算是節省不少。本篇將會一步一步介紹如何申請到此憑證。開發環境說明:另外,憑證的金鑰綁定是由開發者來完成,但這個服務是直接在網站上完成,開發者僅需要直接下載做好的憑證即可。

為了讓更多網站可以加上綠鎖頭(https),並且提高網路的安全性,此服務免費提供網站 SSL 憑證,同時憑證不僅是免費的,還是屬於萬用憑證(包含所有子網域),雖然每次的憑證效期僅有三個月,但可以不斷的續約,對於每年需花個幾千、幾萬才能購買一個萬用憑證來說,算是節省不少。本篇將會一步一步介紹如何申請到此憑證。

開發環境說明:

  • 主機 Digital Ocean:Ubuntu 16
  • 後端語言:Node.js

另外,憑證的金鑰綁定是由開發者來完成,但這個服務是直接在網站上完成,開發者僅需要直接下載做好的憑證即可。

申請憑證

透過以下網站申請: SSL For Free ,直接輸入要申請的網域即可。

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

申請後,他會要求認證網域是否由 申請者 管理,接下來會有以下的認證步驟(三選一):

  1. 透過 FTP 上傳驗證檔
  2. 手動上傳驗證,本教學會使用此流程,順便說明一些細項
  3. DNS 驗證,這是最簡單的流程,直接在 DNS TXT Record 補上驗證訊息即可

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

手動驗證流程

選擇手動驗證會出現以下流程說明,接下來在我們的 Ubuntu 伺服器端先安裝好 node.js 及 express 環境後繼續以下動作。

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

  1. 開啟 express 框架中的 bin/www 將 port 改為 80 port,並且將 DNS 指向此主機(需與 SSL 申請的網址同一個)。
  2. 下載該手動驗證的檔案。
  3. public 資料夾下,建立該資料夾 /.well-known/acme-challenge/ 並且把該檔案上傳上去(上傳方式可參考後方說明)
  4. 須確保網址上的這個檔案能夠被開啟

上傳驗證檔案的說明:

方法 1: 可以直接透過指令上傳驗證檔案,需要在本地端輸入以下指令,並且對應遠端的路徑。

scp {{檔名}} root@{{主機}}:~{{資料夾路徑}}

// 範例:
scp xxx root@12.3.45.678:~/website

方法 2: 直接手動新增 vi { 檔名 } ,將下載檔案的內容貼入

按下 Download ssl

確保上述流程完成後,就可以按下 Download SSL ,失敗也會提供訊息, 但如果發生錯誤,請重新上述的步驟

接下來會核發 90 天的憑證,並且已經生成了憑證、私鑰等檔案。接下來下載這些檔案,其中 certificate.crtprivate.key 這兩隻需要上傳到 server 上。

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

express with https

步驟 1: 上傳 certificate.crtprivate.key 到伺服器上,直接放到專案中方便存取的路徑即可。

scp certificate.crt root@0.0.0.0:~/{{ 專案路徑 }}/ssl/
scp private.key root@0.0.0.0:~/{{ 專案路徑 }}/ssl/

步驟 2: 透過 npm install https --save 安裝 https 套件

步驟 3: 打開 bin/www ,並且將檔案修改成以下(後方有完整的程式碼)

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

var fs = require('fs');
var app = require('../app');
var debug = require('debug')('website:server');
var http = require('http');
var https = require('https');

/**
 * Get port from environment and store in Express.
 */

var privateKey  = fs.readFileSync(__dirname + '/../ssl/private.key');
var certificate = fs.readFileSync(__dirname + '/../ssl/certificate.crt');
var credentials = { key: privateKey, cert: certificate };

var port = normalizePort(process.env.PORT || '443');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = https.createServer(credentials, app);

完成後就可以直接連線至該網址,加上憑證後預設也會自動連線至 443 port,所以就可以直接使用當時的網址連線即可。

簽核的認證範例:

免費申請屬於自己的 SSL 憑證(手把手帶你加上 https 綠色鎖頭)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript

JavaScript

Douglas Crockford / Yahoo Press / 2008-5 / GBP 23.99

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative b......一起来看看 《JavaScript》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具