Nginx下如何升級https

下載證書

在證書控制臺下載 nginx 版本證書。下載到本地的壓縮文件包解壓后包含:

  • .pem 文件:證書文件

  • .key 文件:證書的私鑰文件(申請證書時如果沒有選擇?自動創建csr ,則沒有該文件)

配置nginx

1、在 nginx 的安裝目錄下創建 cert 目錄,并且將下載的全部文件拷貝到 cert 目錄中,如果申請證書時是自己創建的csr文件,請將對應的私鑰文件放到 cert 目錄下。

2、打開 nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件

#user?nobody; worker_processes?1;  #error_log?logs/error.log; #error_log?logs/error.log?notice; #error_log?logs/error.log?info;  #pid????logs/nginx.pid;  events?{ ??worker_connections?1024; }  http?{ ??include????mime.types; ??default_type?application/octet-stream;  ??#log_format?main?'$remote_addr?-?$remote_user?[$time_local]?"$request"?' ??#?????????'$status?$body_bytes_sent?"$http_referer"?' ??#?????????'"$http_user_agent"?"$http_x_forwarded_for"';  ??#access_log?logs/access.log?main;  ??sendfile????on; ??#tcp_nopush???on;  ??#keepalive_timeout?0; ??keepalive_timeout?65;  ??gzip?on;??#開啟gzip ??gzip_min_length?1k;?#低于1kb的資源不壓縮 ??gzip_comp_level?3;?#壓縮級別【1-9】,越大壓縮率越高,同時消耗cpu資源也越多,建議設置在4左右。 ??gzip_types?text/plain?application/javascript?application/x-javascript?text/javascript?text/xml?text/css;?#需要壓縮哪些響應類型的資源,多個空格隔開。不建議壓縮圖片,下面會講為什么。 ??gzip_disable?"msie?[1-6].";?#配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因為ie低版本不支持) ??gzip_vary?on;?#是否添加“vary:?accept-encoding”響應頭  ??server?{ ????listen????80?default?backlog=2048;?#配置http可用 ????listen????443?ssl;?#配置https ????server_name?localhost;  ????ssl_certificate???../cert/hzzly.pem;?#配置證書文件 ????ssl_certificate_key?../cert/hzzly.key;?#配置私鑰文件  ????ssl_session_cache??shared:ssl:1m; ????ssl_session_timeout?5m;  ????ssl_ciphers?high:!anull:!md5; ????ssl_prefer_server_ciphers?on;  ????location?/?{ ??????root??/home/hzzly; ??????index?index.html?index.htm; ????}  ????#?location?^~?/apis/?{ ????#???proxy_set_header?host?$host; ????#???proxy_set_header?x-real-ip?$remote_addr; ????#???proxy_set_header?x-forwarded-server?$host; ????#???#?匹配任何以?/apis/?開始的請求,并停止匹配?其它location ????#???proxy_pass?http://xxxxxxxxxx/; ????#?}  ????#?location?^~?/assets/?{ ????#???gzip_static?on; ????#???expires?max; ????#???add_header?cache-control?public; ????#?} ??} }

3、重啟 nginx

$?cd?/usr/local/nginx/sbin $?./nginx?-s?reload

錯誤詳解

1、nginx如果未開啟ssl模塊,配置https時提示錯誤

nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in …

nginx開啟ssl模塊

切換到源碼包:

$?cd?/usr/local/src/nginx-1.16.0

修改新的configure參數

$?./configure?--prefix=/usr/local/nginx?--with-http_stub_status_module?--with-http_ssl_module

配置完成后,運行命令

$?make?//這里不要進行make?install,否則就是覆蓋安裝

備份原有已安裝好的nginx

$?cp?/usr/local/nginx/sbin/nginx?/usr/local/nginx/sbin/nginx.bak

將剛剛編譯好的nginx覆蓋掉原有的nginx

$?cp?./objs/nginx?/usr/local/nginx/sbin/

重啟 nginx

$?cd?/usr/local/nginx/sbin $?./nginx?-s?reload

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享