HTTP升級HTTPS全過程記錄

學習仍是工做中, 都有可能須要咱們把域名升級爲HTTPS,html

好比, 你要使用開發微信公衆, 小程序相關應用, 在初始化的時候, 就要求咱們填寫HTTS的域名做爲驗證nginx

本文記錄了一次HTTPS域名配置的完整過程小程序

話說HTTPS證書但是一筆不小的費用, 不少人倍感無力, 負擔不起啊bash

阿里雲提供了免費證書, 有效期一年, 文中證書就用的阿里雲的 免費的證書還有Let's Encrypt, 也挺好申請服務器

下面主要記錄白嫖阿里雲證書, 以及證書配置過程微信

[toc]session

前提準備

  • 已申請了本身的域名運維

  • 註冊阿里雲帳號學習

  • 固然要有本身的服務器, 裝一下 Nginx, 待會域名校驗會用到搜索引擎

申請阿里雲免費證書

選購證書

  • 控制檯搜索 SSL, 點擊"選購證書"

image-20200510103122256

  • 選擇 單域名 -- DV SSL -- 免費版, 能夠看到收費0, 支付成功會有提示

image-20200510103225042

image-20200510103326066

申請證書

進入證書控制檯, 點擊證書申請, 填寫信息

域名校驗方式我選擇的是 手動"文件校驗"的方式,

若是你的服務器是阿里雲的, 選擇 "自動DNS驗證"會很方便, 在這裏我們就按照常規方式來, 也算了解一下運維過程

image-20200510103441140

image-20200510103817570

準備校驗文件

image-20200510104104013

這裏所謂驗證, 其實就是經過上面的域名能訪問到, 校驗文件, 訪問不到固然無法讓你使用啦

Nginx 配置這裏可能要注意下, 也沒什麼難度

image-20200510105336877

下載證書

根據本身的服務器類型下載, 這裏我們選擇Nginx

image-20200510115113956

上傳證書, 配置Nginx

我們把ssl證書放到/ssl(目錄隨意吧), 把下載的證書文件解壓以後, 上傳到該目錄

image-20200510110720130

貼一下Nginx配置, 記得改完配置要重啓Nginx哦

server {
    #listen 80; #偵聽80端口,若是強制全部的訪問都必須是HTTPs的,這行須要註銷掉
    listen    443 ssl;
    server_name  xxx.com;             #域名

    # 增長ssl
    #ssl on; #若是強制HTTPs訪問,這行要打開
    ssl_certificate /ssl/xxxx.pem;
    ssl_certificate_key /ssl/xxxxx.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

     # 指定密碼爲openssl支持的格式
     ssl_protocols  SSLv2 SSLv3 TLSv1.2;

     ssl_ciphers  HIGH:!aNULL:!MD5;  # 密碼加密方式
     ssl_prefer_server_ciphers  on;   # 依賴SSLv3和TLSv1協議的服務器密碼將優先於客戶端密碼

     # 定義首頁索引目錄和名稱
     location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
     }

    #重定向錯誤頁面到 /50x.html
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
複製代碼

而後就能夠愉快的訪問體驗HTTPS了

image-20200510111527983

乾貨贈送: Nginx 排錯小技巧

在配置過程當中, 可能會出現訪問沒反應, 等各類問題,

這時候, 不要慌, 我們有思路

此時必定要觀察Nginx的 access.log 和 error.log, 從error.log 通常能找到有效信息, 能夠拿到error關鍵字, 再取搜索引擎去分析解決

我剛纔配置就失敗了一次, Nginx配置完證書以後, 重啓, 輸入url訪問未反應,

隨即看下error.log,

2020/05/10 03:11:39 [emerg] 1#1: cannot load certificate "/ssl/xxx.key": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
複製代碼

帶着關鍵字去搜索, 隨便點進去一篇, 忽然注意點, 我證書配置對應錯了, 哈哈, 尷尬

立刻改正, 重啓, 驗證有效, OK !

image-20200510112915077
相關文章
相關標籤/搜索