Nginx 配置 Https 免費證書訪問


配置HTTPS

現在做博客或者做網站沒有 https 已經不行了,就記錄一下我在騰訊雲配置 https 的過程吧,非常簡單,1個小時就可以了。

還涉及到 http 訪問自動轉發到 https 訪問路徑。同時把不帶 www 的頂級域名轉發到帶 www 的二級域名上,有利於 SEO.

申請證書

不管是騰訊雲還是阿里雲都提供免費的證書使用,不過有效期是 1 年,到時候我們重新申請就可以了。我們以騰訊雲為例子,申請證書。

證書申請.png

然后驗證一下 DNS 記錄就好了,如果域名是在使用騰訊雲解析的話直接選用自動 DNS 驗證即可。

驗證DNS.png

官方說法是申請證書需要10分鍾-1天的時間,我大概就是十幾分鍾吧,很快就收到通知了。下載的證書包含 Apache、Nginx、Tomcat、IIS等服務器的配置文件。我們把 Nginx 文件夾下的兩個文件傳到服務器就行了。

配置證書

我們在 etc/nginx/ 目錄下新建 ssl 文件夾來存放證書。把 crt 證書文件和 key 私鑰文件上傳到這里。然后就可以配置 Nginx 配置文件了。

我的配置文件放在 sites-enabled 文件夾里,我們刪掉默認的文件新建一個,具體配置內容可以參考騰訊雲的操作指導。

下面是我的配置文件

# 配置 http 訪問時通過 301 轉發到 https 上。
server{
    listen 80;
    server_name example.com www.example.com;
    return 301 https://www.example.com$request_uri;
}

# 證書部分內容配置,注意證書路徑寫對,其他地方照抄就行了
server {
    listen 443 ssl default_server;
    server_name www.example.com;
    ssl on;
    ssl_certificate /etc/nginx/ssl/1_www.example.com_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/2_www.example.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:8000;
    }

}

# 這一步把 頂級域名轉發到 www 二級域名上,有利於 SEO
server {
    listen 443 ssl;
    server_name example.com;
    return 301 https://www.example.com$request_uri;

}

第一個server 配置的是把普通 80 端口訪問的 http 協議轉發到 https 訪問。
第二個server 配置的就是證書路徑和一些參數,這個照抄就行了,只要把證書路徑寫對
第三個server 配置的是把不帶 www 的頂級域名轉發到帶 www 的二級域名,利於 SEO. 比如 example.com 會自動跳轉到 www.example.com 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM