Nginx 配置 Https 免費證書訪問

配置HTTPS

如今作博客或者作網站沒有 https 已經不行了,就記錄一下我在騰訊雲配置 https 的過程吧,很是簡單,1個小時就能夠了。nginx

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

申請證書

無論是騰訊雲仍是阿里雲都提供免費的證書使用,不過有效期是 1 年,到時候咱們從新申請就能夠了。咱們以騰訊云爲例子,申請證書。session

證書申請.png

而後驗證一下 DNS 記錄就行了,若是域名是在使用騰訊雲解析的話直接選用自動 DNS 驗證便可。網站

驗證DNS.png

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

配置證書

咱們在 etc/nginx/ 目錄下新建 ssl 文件夾來存放證書。把 crt 證書文件和 key 私鑰文件上傳到這裏。而後就能夠配置 Nginx 配置文件了。spa

個人配置文件放在 sites-enabled 文件夾裏,咱們刪掉默認的文件新建一個,具體配置內容能夠參考騰訊雲的操做指導。code

下面是個人配置文件server

# 配置 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 。blog

相關文章
相關標籤/搜索