Nginx使用自簽ssl證書實現(xiàn)https連接的方法
場景
Nginx使用自簽ssl證書實現(xiàn)https連接。
使用OpenSSL創(chuàng)建證書
建立服務(wù)器私鑰(過程需要輸入密碼,請記住這個密碼)生成RSA密鑰
openssl genrsa -des3 -out server.key 1024
生成一個證書請求
openssl req -new -key server.key -out server.csr
需要依次輸入國家,地區(qū),組織,email。最重要的是有一個common name,可以寫你的名字或者域名。如果為了https申請,這個必須和域名吻合,否則會引發(fā)瀏覽器警報。生成的csr文件交給CA簽名后形成服務(wù)端自己的證書
#--------------------------------------------------------------------------------------------------------------- Enter pass phrase for server.key: #之前輸入的密碼 Country Name (2 letter code) [XX]: #國家 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 []: #輸入一個密碼,可直接回車 An optional company name []: #一個可選的公司名稱,可直接回車 #---------------------------------------------------------------------------------------------------------------
輸入完這些內(nèi)容,就會在當(dāng)前目錄生成server.csr文件
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
使用上面的密鑰和CSR對證書進(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證書方法及配置文件》
至此,證書生成完畢!
附常用對證書的操作:
查看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庫,并且安裝Nginx時使用了–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; }
另,還可加入如下配置實現(xiàn)https重定向
server { listen 80; server_name your.domain.name; rewrite ^(.*) https://$server_name$1 permanent; }
第一次配置https時需重啟nginx!
驗證方法
Win、Android系統(tǒng)
curl https://your.domain.name
iOS系統(tǒng)
curl -3 https://your.domain.name
到此這篇關(guān)于Nginx使用自簽ssl證書實現(xiàn)https連接的方法的文章就介紹到這了,更多相關(guān)Nginx自簽ssl實現(xiàn)https連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx-proxy-manager初次登錄報錯502?bad?gateway解決
這篇文章主要給大家介紹了關(guān)于nginx-proxy-manager初次登錄報錯502?bad?gateway的解決辦法,502?Bad?Gateway服務(wù)器作為網(wǎng)關(guān)或者代理時,為了完成請求訪問下一個服務(wù)器,但該服務(wù)器返回了非法的應(yīng)答,需要的朋友可以參考下2024-04-04Nginx?Rewrit實現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能詳細(xì)步驟
Rewrite主要實現(xiàn)url地址重寫,以及重定向,就是把傳入web的請求重定向到其他url的過程,這篇文章主要介紹了Nginx?Rewrit實現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能詳細(xì)步驟,需要的朋友可以參考下2024-02-02nginx做代理轉(zhuǎn)發(fā)前端請求到后端的代碼示例
Nginx作為反向代理服務(wù)器,可以有效處理請求并轉(zhuǎn)發(fā)到后端服務(wù)器,這篇文章主要介紹了nginx做代理轉(zhuǎn)發(fā)前端請求到后端的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01windows安裝nginx部署步驟圖解(反向代理與負(fù)載均衡)
這篇文章主要介紹了windows安裝nginx部署步驟,設(shè)置反向代理與負(fù)載均衡的使用方法,需要的朋友可以參考下2014-02-02解決502?Bad?Gateway錯誤的詳細(xì)指南與實例
這篇文章主要給大家介紹了關(guān)于解決502?Bad?Gateway錯誤的詳細(xì)指南與實例,502 Bad Gateway錯誤通常是由于網(wǎng)關(guān)或代理服務(wù)器在嘗試訪問上游服務(wù)器(通常是Web服務(wù)器)時未能及時接收到響應(yīng)導(dǎo)致的,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05