Nginx/Tengine服務器安裝SSL證書

在證書控制檯下載Nginx版本證書。下載到本地的壓縮文件包解壓後包含:

  • .crt文件:是證書文件,crt是pem文件的擴展名。
  • .key文件:證書的私鑰文件(申請證書時如果沒有選擇自動創建CSR,則沒有該文件)。

友情提示: .pem擴展名的證書文件採用Base64-encoded的PEM格式文本文件,可根據需要修改擴展名。

以Nginx標準配置爲例,假如證書文件名是a.pem,私鑰文件是a.key。

  1. 在Nginx的安裝目錄下創建cert目錄,並且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創建的CSR文件,請將對應的私鑰文件放到cert目錄下並且命名爲a.key;

  2. 打開 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,找到:

    # HTTPS server
    # #server {
    # listen 443;
    # server_name localhost;
    # ssl on;
    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;
    # ssl_session_timeout 5m;
    # ssl_protocols SSLv2 SSLv3 TLSv1;
    # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    # ssl_prefer_server_ciphers on;
    # location / {
    #
    #
    #}
    #}

    將其修改爲 (以下屬性中ssl開頭的屬性與證書配置有直接關係,其它屬性請結合自己的實際情況複製或調整) :

    server {
        listen 80;
        server_name kaisuo.zhiyuancorp.com;
        return 301 https://kaisuo.zhiyuancorp.com$request_uri;
    }
    
    server {
        listen       443;
        server_name  kaisuo.zhiyuancorp.com;
        ssl on;
        ssl_certificate   /usr/local/nginx/cert/2378341_kaisuo.zhiyuancorp.com.pem;
        ssl_certificate_key  /usr/local/nginx/cert/2378341_kaisuo.zhiyuancorp.com.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
               proxy_set_header   Host             $host;
               proxy_set_header   X-Real-IP        $remote_addr;
               proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
               if ($request_method !~* GET|POST|HEAD) {
                 return 403;
               }
               proxy_pass http://127.0.0.1:3317;
            }
        }

     

  3. 保存退出。

  4. 重啓 Nginx。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章