【https】nginx 配置 https 原理及方法

主要說一下http和https的區別和配置,不解釋概念,只說配置過程當中關鍵的理解。這裏使用騰訊雲免費ssl證書html

騰訊雲免費ssl證書地址:這裏nginx

1. 區別解釋

在配置過程當中,http默認配置監聽80端口,表示一個server;而https默認監聽443端口,也是一個server。理解這點很是關鍵。80端口的server咱們已經配置好了,如今就是配置443端口的server,在這個server下再配置sslspa

2. 獲取證書

騰訊雲建立免費證書後下載,解壓,會有四個文件夾,咱們只須要nginx下的文件code

QQ20171018-113210.png

如圖有兩個文件,一個是.crt文件,表示證書;另外一個是.key文件,表示祕鑰server

3. 配置

先將上一步拿到的兩個文件上傳到與nginx.conf同級的目錄下,而後編輯 nginx.confhtm

下面貼一個比較簡單的80端口server配置:blog

server {
    listen       80;
    server_name     www.aaa.com;
    root         /home/blog;

    location / {
        index index.html
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

根據第一步的理解,咱們在80端口的server下新添一個443端口的server,咱們要實現http和https訪問都會運行一樣配置的同一個程序。因此新建server:ssl

server {
    listen       443 ssl;
    server_name     www.aaa.com;

    ssl on;
    ssl_certificate     1_aaa.com_bundle.crt;    #上傳的證書路徑
    ssl_certificate_key     2_aaa.com.key;    #上傳的祕鑰路徑
    root         /home/blog;

    location / {
        index index.html
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

如今訪問http和https是徹底相同的效果,咱們已經實現了基本配置rem

另外一種狀況也很經常使用,就是http訪問自動重定向到https,這樣的話http的server不須要處理程序,只須要接受請求重定向到https的server就能夠了。因此修改80端口的server:get

server {
    listen   80;
    server_name   www.aaa.com;
    rewrite ^(.*) https://$host$1 permanent;
}

經常使用的配置就這些,OK

相關文章
相關標籤/搜索