欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解nginx使用ssl模塊配置支持HTTPS訪問

 更新時間:2018年08月08日 11:33:26   作者:杜_小妖  
這篇文章主要介紹了詳解nginx使用ssl模塊配置支持HTTPS訪問,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

背景:

項目開發(fā)中用到了微信小程序,但是服務(wù)器配置URL必須是HTTPS,所以需要通過配置nginx的SSL模塊來支持HTTPS訪問,也就是說,要做一個網(wǎng)站域名為 dmsdbj.com 要求通過HTTPS://dmsdbj.com進行訪問.

SSL英文名為Secure Socket Layer,安全套接字層。SSL是一種數(shù)字證書,它使用ssl協(xié)議在瀏覽器和web server之間建立一條安全通道,數(shù)據(jù)信息在client與server之間的安全傳輸.

本篇博客是對這個操作步驟的詳解。

前提:

1. 配置SSL模塊首先需要CA證書,CA證書可以自己手動頒發(fā)也可以在阿里云申請,本人在阿里云上申請的證書。(手動頒發(fā)可參考文章底部鏈接)

2. 默認(rèn)情況下ssl模塊并未被安裝,如果要使用該模塊則需要在編譯nginx時指定–with-http_ssl_module參數(shù).

阿里云購買CA證書

操作步驟:

一、下載CA證書

1. 登錄阿里云,選擇“控制臺”-“產(chǎn)品與服務(wù)”,在“安全(云盾)”一欄中選擇“CA證書服務(wù)(數(shù)據(jù)安全)”。

2.在已經(jīng)購買好的證書點擊“下載”,在新打開的頁面上選擇“Nginx/Tengine”,點擊“下載證書for Nginx”。

二、在Nginx配置文件中安裝證書

文件說明:1. 證書文件“證書名稱.pem‘',包含兩段內(nèi)容,請不要刪除任何一段內(nèi)容。2. 如果是證書系統(tǒng)創(chuàng)建的CSR,還包含:證書私鑰文件“證書名稱.key”。( 1 ) 在Nginx的配置文件所在的目錄下創(chuàng)建cert文件夾,并且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創(chuàng)建的CSR文件,請將對應(yīng)的私鑰文件放到cert目錄下并且命名為“證書名稱.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 / {
#
#
#}
#}

( 3 ) 將其修改為 (以下屬性中ssl開頭的屬性與證書配置有直接關(guān)系,其它屬性請結(jié)合自己的實際情況復(fù)制或調(diào)整) :

server {
  listen 443;
  server_name localhost;
  ssl on;
  root html;
  index index.html index.htm;
  ssl_certificate  cert/證書名稱.pem;
  ssl_certificate_key cert/證書名稱.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 / {
    root html;
    index index.html index.htm;
  }
}

保存退出。

( 4 )重啟 Nginx。

nginx -s reload 

( 5 ) 通過 https 方式訪問您的站點,測試站點證書的安裝配置。 在瀏覽器中輸入https://dmsdbj.com,如下圖所示,則說明配置成功。

安裝過程中遇見的問題

錯誤一:

nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:151

解決方案:

出現(xiàn)這種錯誤可能是兩種情況造成的:

情況一:配置文件格式不正確。

解決方法參考鏈接:http://www.dbjr.com.cn/article/141569.htm

情況二:ssl模塊并未被安裝

默認(rèn)情況下ssl模塊并未被安裝,如果要使用該模塊則需要在編譯nginx時指定–with-http_ssl_module參數(shù),這種情況也會導(dǎo)致錯誤二的出現(xiàn)。

解決方案:

nginx缺少http_ssl_module模塊,編譯安裝的時候帶上--with-http_ssl_module配置就行了,但是現(xiàn)在的情況是我的nginx已經(jīng)安裝過了,怎么添加模塊,其實也很簡單,往下看: 做個說明:我的nginx的安裝目錄是/usr/local/nginx這個目錄,我的源碼包在/usr/local/src/nginx-1.3.6目錄

(1)切換到源碼包:

cd /root/nginx-1.13.6

(2)配置信息:

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

(3)配置完成后,運行make進行編譯,千萬不要進行make install,否則就是覆蓋安裝。

mark

(4)然后備份原有已經(jīng)安裝好的nginx

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

(5)停止Nginx,正常命令直接 nginx -s stop就可以

nginx -s stop

如果關(guān)不掉,就直接Kill掉進程。ps aux | grep 進程名 查看進程占用的PID號。

ps aux|grep nginx

殺掉查出來的PID就可以了,kill -9 PID 命令用于終止進程。必須先kill掉root對應(yīng)的PID才能進行下面的三個nobody的PID。

kill -9 10922
kill -9 28276
kill -9 28277
kill -9 28278

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

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

(7)啟動nginx

nginx

(8)通過下面的命令查看是否已經(jīng)加入成功。

nginx -V

錯誤二:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:148

解決方案:

出現(xiàn)這種情況的解決方案參考錯誤一的第二種情況的解決方案即可。

錯誤三:

Stoping nginx... nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/cert/214291778530222.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert/214291778530222.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) failed. Use force-quit

解決方案:

這可能是證書路徑存放的位置不正確導(dǎo)致的,而且只要寫絕對路徑,就會報錯,無論windows還是linux。

將證書文件放到nginx.conf所在的目錄下即可。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用nginx實現(xiàn)分布式限流的方法

    使用nginx實現(xiàn)分布式限流的方法

    一般對外暴露的系統(tǒng),在促銷或者黑客攻擊時會涌來大量的請求,為了保護系統(tǒng)不被瞬間到來的高并發(fā)流量給打垮, 就需要限流。接下來通過本文給大家分享使用nginx實現(xiàn)分布式限流的方法,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • Nginx服務(wù)安裝及軟件升級

    Nginx服務(wù)安裝及軟件升級

    這篇文章主要為大家介紹了Nginx服務(wù)的安裝以及軟件升級的步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • 解析prometheus+grafana監(jiān)控nginx的方法

    解析prometheus+grafana監(jiān)控nginx的方法

    ?在prometheus需要向ngxin中打入探針,通過探針獲取ngxin信息,并通過接口輸出。下文將講述如何監(jiān)控ngxin,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • Nginx Rewrite規(guī)則與使用介紹和技巧實例

    Nginx Rewrite規(guī)則與使用介紹和技巧實例

    這篇文章主要介紹了Nginx Rewrite規(guī)則與使用介紹和技巧實例,本文講解了正則表達式匹配、文件及目錄匹配、flag標(biāo)記、Nginx Rewrite相關(guān)指令等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 詳解Nginx服務(wù)器中HTTP Headers相關(guān)的模塊配置使用

    詳解Nginx服務(wù)器中HTTP Headers相關(guān)的模塊配置使用

    這篇文章主要介紹了詳解Nginx服務(wù)器中HTTP Headers相關(guān)的模塊配置使用,包括ngx_http_headers_module與它的增強版ngx_headers_more的配置使用講解,需要的朋友可以參考下
    2016-01-01
  • Nginx地址重定向的實現(xiàn)

    Nginx地址重定向的實現(xiàn)

    重定向 是將一個域名或地址指向另一個的方法,本文主要介紹了Nginx地址重定向的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • 通過Nginx解決網(wǎng)絡(luò)隔離實踐記錄詳解

    通過Nginx解決網(wǎng)絡(luò)隔離實踐記錄詳解

    這篇文章主要介紹了通過Nginx解決網(wǎng)絡(luò)隔離實踐記錄詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境

    nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境

    這篇文章主要介紹了nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境,幫助大家選擇符合需求的服務(wù)器,感興趣的朋友可以了解下
    2020-10-10
  • Node.js站點使用Nginx作反向代理時配置GZip壓縮的教程

    Node.js站點使用Nginx作反向代理時配置GZip壓縮的教程

    這篇文章主要介紹了Node.js站點使用Nginx作反向代理時配置GZip壓縮的教程,文中演示了Node使用Express框架時的HTTP傳輸壓縮配置,需要的朋友可以參考下
    2016-04-04
  • 啟用Nginx目錄瀏覽功能的方法

    啟用Nginx目錄瀏覽功能的方法

    這篇文章主要介紹了啟用Nginx目錄瀏覽功能的方法,需要的朋友可以參考下
    2014-03-03

最新評論