Nginx使用自簽ssl證書實(shí)現(xiàn)https連接的方法
場(chǎng)景
Nginx使用自簽ssl證書實(shí)現(xiàn)https連接。
使用OpenSSL創(chuàng)建證書
建立服務(wù)器私鑰(過程需要輸入密碼,請(qǐng)記住這個(gè)密碼)生成RSA密鑰
openssl genrsa -des3 -out server.key 1024
生成一個(gè)證書請(qǐng)求
openssl req -new -key server.key -out server.csr
需要依次輸入國(guó)家,地區(qū),組織,email。最重要的是有一個(gè)common name,可以寫你的名字或者域名。如果為了https申請(qǐng),這個(gè)必須和域名吻合,否則會(huì)引發(fā)瀏覽器警報(bào)。生成的csr文件交給CA簽名后形成服務(wù)端自己的證書
#--------------------------------------------------------------------------------------------------------------- Enter pass phrase for server.key: #之前輸入的密碼 Country Name (2 letter code) [XX]: #國(guó)家 State or Province Name (full name) []: #區(qū)域或是省份 Locality Name (eg, city) [Default City]: #地區(qū)局部名字 Organization Name (eg, company) [Default Company Ltd]: #機(jī)構(gòu)名稱:填寫公司名 Organizational Unit Name (eg, section) []: #組織單位名稱:部門名稱 Common Name (eg, your name or your server's hostname) []: #網(wǎng)站域名 Email Address []: #郵箱地址 A challenge password []: #輸入一個(gè)密碼,可直接回車 An optional company name []: #一個(gè)可選的公司名稱,可直接回車 #---------------------------------------------------------------------------------------------------------------
輸入完這些內(nèi)容,就會(huì)在當(dāng)前目錄生成server.csr文件
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
使用上面的密鑰和CSR對(duì)證書進(jìn)行簽名
#以下命令生成v1版證書 openssl x509 -req ?-days 365 -sha256 ? -in server.csr -signkey server.key -out servernew.crt
以下命令生成v3版證書
openssl x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req -in server.csr -signkey server.key -out servernew.crt
v3版證書另需配置文件openssl.cnf,該文件內(nèi)容詳見博客《OpenSSL生成v3證書方法及配置文件》
至此,證書生成完畢!
附常用對(duì)證書的操作:
查看key、csr及證書信息
openssl rsa -noout -text -in myserver.key openssl req -noout -text -in myserver.csr openssl x509 -noout -text -in ca.crt
不同格式證書的轉(zhuǎn)換
PKCS轉(zhuǎn)換為PEM
openssl pkcs12 -in myserver.pfx -out myserver.pem -nodes
PEM轉(zhuǎn)換為DER
openssl x509 -outform der -in myserver.pem -out myserver.[der|crt]
PEM提取KEY
openssl RSA -in myserver.pem -out myserver.key
DER轉(zhuǎn)換為PEM
openssl x509 -inform der -in myserver.[cer|crt] -out myserver.pem
PEM轉(zhuǎn)換為PKCS
openssl pkcs12 -export -out myserver.pfx -inkey myserver.key -in myserver.pem -certfile ca.crt
Nginx下ssl配置方法
首先,確保安裝了OpenSSL庫(kù),并且安裝Nginx時(shí)使用了–with-http_ssl_module參數(shù)。
證書拷至nginx目錄,配置如下server
server { listen 443 ssl; server_name your.domain.name; index index.html index.htm index.php; ssl on; ssl_certificate ssl/hotyq.com.crt; ssl_certificate_key ssl/hotyq.com.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; }
另,還可加入如下配置實(shí)現(xiàn)https重定向
server { listen 80; server_name your.domain.name; rewrite ^(.*) https://$server_name$1 permanent; }
第一次配置https時(shí)需重啟nginx!
驗(yàn)證方法
Win、Android系統(tǒng)
curl https://your.domain.name
iOS系統(tǒng)
curl -3 https://your.domain.name
到此這篇關(guān)于Nginx使用自簽ssl證書實(shí)現(xiàn)https連接的方法的文章就介紹到這了,更多相關(guān)Nginx自簽ssl實(shí)現(xiàn)https連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx 配置location匹配規(guī)則實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于nginx 配置location匹配規(guī)則實(shí)例講解內(nèi)容,需要的朋友們學(xué)習(xí)下。2020-03-03nginx-proxy-manager初次登錄報(bào)錯(cuò)502?bad?gateway解決
這篇文章主要給大家介紹了關(guān)于nginx-proxy-manager初次登錄報(bào)錯(cuò)502?bad?gateway的解決辦法,502?Bad?Gateway服務(wù)器作為網(wǎng)關(guān)或者代理時(shí),為了完成請(qǐng)求訪問下一個(gè)服務(wù)器,但該服務(wù)器返回了非法的應(yīng)答,需要的朋友可以參考下2024-04-04Nginx?Rewrit實(shí)現(xiàn)網(wǎng)頁(yè)跳轉(zhuǎn)功能詳細(xì)步驟
Rewrite主要實(shí)現(xiàn)url地址重寫,以及重定向,就是把傳入web的請(qǐng)求重定向到其他url的過程,這篇文章主要介紹了Nginx?Rewrit實(shí)現(xiàn)網(wǎng)頁(yè)跳轉(zhuǎn)功能詳細(xì)步驟,需要的朋友可以參考下2024-02-02nginx做代理轉(zhuǎn)發(fā)前端請(qǐng)求到后端的代碼示例
Nginx作為反向代理服務(wù)器,可以有效處理請(qǐng)求并轉(zhuǎn)發(fā)到后端服務(wù)器,這篇文章主要介紹了nginx做代理轉(zhuǎn)發(fā)前端請(qǐng)求到后端的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01windows安裝nginx部署步驟圖解(反向代理與負(fù)載均衡)
這篇文章主要介紹了windows安裝nginx部署步驟,設(shè)置反向代理與負(fù)載均衡的使用方法,需要的朋友可以參考下2014-02-02解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例
這篇文章主要給大家介紹了關(guān)于解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例,502 Bad Gateway錯(cuò)誤通常是由于網(wǎng)關(guān)或代理服務(wù)器在嘗試訪問上游服務(wù)器(通常是Web服務(wù)器)時(shí)未能及時(shí)接收到響應(yīng)導(dǎo)致的,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05