security, protection, ssl

申請免費的SSL,使用SSLforfree

TLS、SSL 到底是什麼??

依據維基百科:

  1. 傳輸層安全性協定(英語:Transport Layer Security,縮寫:TLS)
  2. 安全通訊協定(英語:Secure Sockets Layer,縮寫:SSL)
    最古老的開始是從SSL創先的,不過目前SSL因為已知漏洞,故目前加密都是以TLS版憑證(更新及安全的SSL加密)

    不過習慣還是會稱呼安全性憑證為 SSL ~~~

使用Azure ubuntu 18.04 當範例,各大公有雲配置可使用此方式

使用Nginx當作Web伺服器,並且已經配置好DNS(配置方式請參閱)

何謂Nginx,請參考維基百科

  1. 登入SSL For Free網站並且註冊會員

  2. 點擊創建SSL權證

  1. 輸入Domain

  2. 選擇90天期限

  3. 自動生成CSR

  4. 選擇免費版然後下一步

  5. 選擇http檔案上傳認證方式,並下載授權檔案

  6. 將下載文件貼至Azure機器內


    :information_desk_person: /var/www/html/ 是Nginx預設靜態網頁的根目錄唷~~

  7. 點擊網站確認可以顯示認證檔案

  8. 下載SSL權證,選擇Nginx

下載完會有三個檔案!!

  1. 將檔案放入Azure機器內(各大雲放入方式請參閱各家廠商SCP方式)

    1 => 登入Azure的金鑰
    2 => 本機端的檔案
    3 => Azure機器帳號@Azure機器IP
    4.=> 該帳號的家目錄
    此方式僅供參考,也可以使用Filezilla等各類軟體上傳~~

  2. 將打包的.zip檔案檔案放置/etc/ssl目錄下,並解壓縮

  3. 轉成pem格式

    openssl x509 -in certificate.crt -out certificate.pem
    openssl x509 -in ca_bundle.crt -out ca_bundle.pem
    openssl rsa -in private.key -out private.pem
  4. certificate.pem及ca_bundle.pem證書合併

    cat ca_bundle.pem >> certificate.pem
  5. 設定Nginx

    vim /etc/nginx/sites-enabled/default
    # 增加下面
    server_name wen9077.tk www.wen9077.tk; #輸入Domain
    listen   443 ssl; # 監聽443 port 並開啟ssl
    ssl_certificate    /etc/ssl/certificate.pem; # 權證位置
    ssl_certificate_key    /etc/ssl/private.pem; # 私鑰位置
    access_log /var/log/nginx/nginx.vhost.access.log; # log存放位置
    error_log /var/log/nginx/nginx.vhost.error.log; # log存放位置

# 新的 block
server {
    # 輸入www.wen9077.tk將自動轉址為https
    if ($host = www.wen9077.tk) {
        return 301 https://$host$request_uri; 
    }
    # 關閉不安全連線
    listen 80;
    server_name www.wen9077.tk;
    return 404;
}

  1. Nginx 重啟

    service nginx restart # nginx -s reload
  2. 至瀏覽器輸入網址測試

    加上鎖頭的網站已經完成了~

Similar Posts

One Comment

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。