目錄
一、準(zhǔn)備工作
二、生成私鑰(key)
三、生成證書簽名請(qǐng)求/公鑰(csr)
四、生成證書(crt)
五、給nginx配證書
六、訪問(wèn)測(cè)試
閱讀本文前您需要學(xué)會(huì)如何安裝Nginx,?如果您還不會(huì)安裝Nginx請(qǐng)參考CentOS7安裝Nginx,或者直接關(guān)注本欄目Nginx。
一、準(zhǔn)備工作
????????如果是在Windows下,請(qǐng)先安裝OpenSSL
????????官網(wǎng)地址:https://slproweb.com/products/Win32OpenSSL.html
二、生成私鑰(key)
? ? ? ? 第一步是生成私鑰(key),以下命令用于生成一個(gè)包含 1024 比特長(zhǎng)度的 RSA 密鑰的私鑰文件。生成的私鑰存儲(chǔ)在 server.key 文件中。
????????Linux下命令為
openssl? genrsa -des3 -out server.key 1024
????????Windows下命令為
openssl.exe genrsa -des3 -out d:/linux/server.key 1024
? ? ? ? 命令參數(shù)解釋:
? ? ? ? genrsa: 是 OpenSSL 命令的子命令,用于生成 RSA 密鑰對(duì)。
????????-des3: 指定了使用 Triple DES 算法對(duì)生成的私鑰進(jìn)行加密。這樣生成的私鑰將會(huì)被一個(gè)密碼保護(hù)。
????????-out server.key: 指定生成的私鑰文件的輸出路徑和文件名為 server.key。
????????1024: 指定生成的 RSA 密鑰的長(zhǎng)度為 1024 比特。
三、生成證書簽名請(qǐng)求/公鑰(csr)
? ? ? ? 第二步是用使用已有的私鑰 (server.key) 生成證書簽名請(qǐng)求 /公鑰(CSR),該 CSR 包含了對(duì)應(yīng)私鑰的公鑰和與該公鑰關(guān)聯(lián)的其他信息,用于申請(qǐng)數(shù)字證書。
????????Linux下命令為
openssl req -new -key server.key -out server.csr
????????Windows下命令為
openssl.exe req -new -key d:/linux/server.key -out d:/linux/server.csr
? ? ? ?命令參數(shù)解釋:
????????req: 這是 OpenSSL 命令的子命令,用于處理證書請(qǐng)求。
????????-new: 指定生成一個(gè)新的證書請(qǐng)求。
????????-key server.key: 指定使用 server.key 中的私鑰來(lái)生成 CSR。
????????-out server.csr: 指定生成的證書簽名請(qǐng)求 (CSR) 文件的輸出路徑和文件名為 server.csr。
????????在生成公鑰的過(guò)程中需要填寫的信息如下:
? ? ? ? 生成成功后可以使用以下命令查看公鑰信息:
openssl.exe req -text -in d:/linux/server.csr
四、生成證書(crt)
? ? ? ? 第三步是對(duì)簽名請(qǐng)求(公鑰CSR)進(jìn)行簽名生成證書。如果上線產(chǎn)品這個(gè)時(shí)候應(yīng)該提交資料到受信任的證書頒發(fā)機(jī)構(gòu) (CA) ,提交 CSR 以獲得由 CA 簽名的證書。這里為了演示我們創(chuàng)建一個(gè)自簽名的服務(wù)器證書來(lái)測(cè)試。以下自簽名(Self-Signed)?X.509 數(shù)字證書的命令。
????????Linux下命令為
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
????????Windows下命令為
openssl.exe x509 -req -days 365 -in d:/linux/server.csr -signkey d:/linux/server.key -out d:/linux/server.crt
????????命令參數(shù)解釋:
????????x509: 這是 OpenSSL 命令的子命令,用于操作 X.509 數(shù)字證書。
????????-req: 表示輸入的文件是一個(gè)證書簽名請(qǐng)求 (CSR)。
????????-days 365: 指定證書的有效期為 365 天(1年)。
????????-in server.csr: 指定輸入的證書簽名請(qǐng)求文件為 server.csr。
????????-signkey server.key: 指定用于簽名證書的私鑰文件為 server.key。
????????-out server.crt: 指定生成的自簽名證書文件的輸出路徑和文件名為 server.crt。
這個(gè)命令的作用是使用私鑰 (server.key) 對(duì)證書簽名請(qǐng)求 (CSR) 進(jìn)行簽名,生成一個(gè)自簽名的 X.509 數(shù)字證書 (server.crt)。這樣就得到了一個(gè)可以用于安全通信的服務(wù)器證書,該證書在簽發(fā)后的 365 天內(nèi)有效。
五、給nginx配證書
? ? ? ? 第四步是在nginx的服務(wù)配置 nginx.conf的虛擬主機(jī)(server)的SSL信息。監(jiān)聽443端口,并指定自簽名證書server.crt和自己的私鑰server.key。
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /usr/local/tengine/server.crt;
ssl_certificate_key /usr/local/tengine/server.key;
}
六、訪問(wèn)測(cè)試
? ? ? ? 配置完成后就可以在瀏覽順輸入HTTPS地址進(jìn)行訪問(wèn)了。
? ? ? ? https://nginx-ip
? ? ? ? 注意nginx-ip是指你nginx服務(wù)器的IP地址。
? ? ? ? 由于我們使用的自簽名證書,測(cè)試時(shí)瀏覽器可能會(huì)阻止,您需要手動(dòng)允許,如下圖。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-757979.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-757979.html
到了這里,關(guān)于Nginx 配置SSL,開放https協(xié)議和443端口的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!