Nginx使用自簽ssl證書(shū)實(shí)現(xiàn)https連接的方法
場(chǎng)景
Nginx使用自簽ssl證書(shū)實(shí)現(xiàn)https連接。
使用OpenSSL創(chuàng)建證書(shū)
建立服務(wù)器私鑰(過(guò)程需要輸入密碼,請(qǐng)記住這個(gè)密碼)生成RSA密鑰
openssl genrsa -des3 -out server.key 1024
生成一個(gè)證書(shū)請(qǐng)求
openssl req -new -key server.key -out server.csr
需要依次輸入國(guó)家,地區(qū),組織,email。最重要的是有一個(gè)common name,可以寫(xiě)你的名字或者域名。如果為了https申請(qǐng),這個(gè)必須和域名吻合,否則會(huì)引發(fā)瀏覽器警報(bào)。生成的csr文件交給CA簽名后形成服務(wù)端自己的證書(shū)
#--------------------------------------------------------------------------------------------------------------- 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)名稱:填寫(xiě)公司名 Organizational Unit Name (eg, section) []: #組織單位名稱:部門(mén)名稱 Common Name (eg, your name or your server's hostname) []: #網(wǎng)站域名 Email Address []: #郵箱地址 A challenge password []: #輸入一個(gè)密碼,可直接回車(chē) An optional company name []: #一個(gè)可選的公司名稱,可直接回車(chē) #---------------------------------------------------------------------------------------------------------------
輸入完這些內(nèi)容,就會(huì)在當(dāng)前目錄生成server.csr文件
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
使用上面的密鑰和CSR對(duì)證書(shū)進(jìn)行簽名
#以下命令生成v1版證書(shū) openssl x509 -req ?-days 365 -sha256 ? -in server.csr -signkey server.key -out servernew.crt
以下命令生成v3版證書(shū)
openssl x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req -in server.csr -signkey server.key -out servernew.crt
v3版證書(shū)另需配置文件openssl.cnf,該文件內(nèi)容詳見(jiàn)博客《OpenSSL生成v3證書(shū)方法及配置文件》
至此,證書(shū)生成完畢!
附常用對(duì)證書(shū)的操作:
查看key、csr及證書(shū)信息
openssl rsa -noout -text -in myserver.key openssl req -noout -text -in myserver.csr openssl x509 -noout -text -in ca.crt
不同格式證書(shū)的轉(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ù)。
證書(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ū)實(shí)現(xiàn)https連接的方法的文章就介紹到這了,更多相關(guān)Nginx自簽ssl實(shí)現(xiàn)https連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx反向代理實(shí)現(xiàn)Vue跨域的示例
本文主要介紹了Nginx反向代理實(shí)現(xiàn)Vue跨域的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Nginx反向代理之proxy_redirect指令的實(shí)現(xiàn)
proxy_redirect指令是用來(lái)重置頭信息中的"Location"和"Refresh"的值,本文就來(lái)詳細(xì)的介紹一下如何使用,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析
這篇文章主要介紹了Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析,分別介紹了通過(guò)proxy_store模塊和proxy_cache模塊兩種方式的配置,需要的朋友可以參考下2016-04-04
排查Openresty獲取不到Host請(qǐng)求頭解決過(guò)程詳解
這篇文章主要為大家介紹了排查Openresty獲取不到Host請(qǐng)求頭解決過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Nginx訪問(wèn)日志切割的3種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Nginx訪問(wèn)日志切割的3種實(shí)現(xiàn)方法,隨著訪問(wèn)量的增長(zhǎng),日志文件會(huì)越來(lái)越大,時(shí)間長(zhǎng)既會(huì)影響訪問(wèn)的速度,也會(huì)占用一部分磁盤(pán)空間,這時(shí)候就需要日志切割了,需要的朋友可以參考下2023-08-08
nginx上傳文件大小報(bào)錯(cuò)500的解決辦法
這篇文章主要介紹了nginx上傳文件大小報(bào)錯(cuò)解決辦法的相關(guān)資料,小文件可以提交,大文件會(huì)報(bào)500內(nèi)部錯(cuò)誤,這里提供解決辦法,需要的朋友可以參考下2017-08-08
nginx?ingress代理websocket流量的配置方法
ingress?nginx默認(rèn)支持websocket協(xié)議,使用長(zhǎng)連接協(xié)議時(shí)需要注意連接超時(shí)的設(shè)置,文中有提到讀取和發(fā)送超時(shí)的注解參數(shù),通過(guò)本文閱讀可以快速掌握,對(duì)nginx?ingress代理websocket相關(guān)知識(shí)感興趣的朋友一起看看吧2022-03-03
nginx禁止訪問(wèn).git文件的設(shè)置教程
這篇文章主要介紹了nginx禁止訪問(wèn).git文件的設(shè)置教程,.git文件會(huì)包含一份文件列表,如果你的網(wǎng)站是基于git協(xié)作開(kāi)發(fā)的,則必須要注意這個(gè)問(wèn)題,需要的朋友可以參考下2014-08-08
單臺(tái)web服務(wù)器如何盡可能的提高網(wǎng)站性能
一個(gè)網(wǎng)站,對(duì)于個(gè)人或小公司來(lái)說(shuō),前期直接上集群的開(kāi)銷(xiāo)是比較大的,那么采用單臺(tái)服務(wù)器如何才能盡可能的提高網(wǎng)站效率呢?2014-06-06

