Nginx+SSL實現(xiàn)雙向認證的示例代碼
首先創(chuàng)建一個目錄
cd /etc/nginx mkdir ssl cd ssl
CA與自簽名
制作CA私鑰
openssl genrsa -out ca.key 2048
制作 CA 根證書(公鑰)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
注意:
1、Common Name 可以隨意填寫
2、其他需要填寫的信息為了避免有誤,都填寫 . 吧
服務(wù)器端證書
制作服務(wù)器端私鑰:
openssl genrsa -out server.pem 1024 openssl rsa -in server.pem -out server.key
生成簽發(fā)請求:
openssl req -new -key server.pem -out server.csr
注意:
1、Common Name 得填寫為訪問服務(wù)時的域名,這里我們用 usb.dev 下面 NGINX 配置會用到
2、其他需要填寫的信息為了避免有誤,都填寫 . 吧(為了和 CA 根證書匹配)
用CA簽發(fā)
openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt
客戶端證書
與服務(wù)端證書類似
注意:
1、Common Name可以隨意填寫
2、其他需要填寫的信息為了避免有誤,都填寫 . 吧(為了和 CA 根證書匹配)
至此需要的證書都弄好了,我們可以開始配置 NGINX 了。
Nginx配置
server {
listen 443;
server_name usb.dev;
index index.html;
root /data/test/;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_client_certificate /etc/nginx/ssl/ca.crt;
ssl_verify_client on;
}
請求驗證
驗證過程可以選擇在其他機器或是本機,為了能夠解析 usb.dev,還需要配置一下 /etc/hosts:
ip地址 usb.dev
如果用瀏覽器驗證,需要把客戶端證書導(dǎo)出成 p12 格式的
openssl pkcs12 -export -clcerts -in client.crt -inkey client.pem -out client.p12
從服務(wù)器上將幾個證書下載下來,然后安裝到可信的證書列表,點擊剛才生成的p12文件輸入證書的密碼將安裝至個人列表。
然后關(guān)閉瀏覽器,重新輸入域名,會出現(xiàn)ssl雙向驗證的證書提示。選擇證書即可。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx出現(xiàn)“Too many open files”問題的解決方法
在進行壓力測試時,自建CDN節(jié)點的Nginx可能會出現(xiàn)“Too many open files”錯誤,這通常意味著Nginx嘗試打開的文件數(shù)量超出了系統(tǒng)的限制,本文將詳細介紹如何識別和解決這一問題,確保Nginx在負載較高時仍能正常運行,需要的朋友可以參考下2024-10-10
Nginx內(nèi)網(wǎng)單機反向代理的實現(xiàn)
本文主要介紹了Nginx內(nèi)網(wǎng)單機反向代理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法
在進行軟件安裝時,若遇到報錯,常見的解決方法之一是檢查是否缺失依賴,并嘗試安裝所需的依賴包,記得去掉尖括號,對于nginx服務(wù)器,配置文件的位置和管理是關(guān)鍵操作之一,通過命令cd進入后,使用sudo nano index.nginx-debian.html命令打開并編輯默認的html文件2024-11-11
使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例
本文主要介紹了使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
linux設(shè)置Nginx自動重啟的實現(xiàn)
在Linux系統(tǒng)中,設(shè)置Nginx服務(wù)開機自動啟動及意外停止后自動重啟是保持服務(wù)穩(wěn)定運行的關(guān)鍵步驟,本文詳細介紹了如何使用systemctl命令和配置systemd服務(wù)文件來實現(xiàn)這一功能,感興趣的可以了解一下2024-09-09
Nginx出現(xiàn)The plain HTTP request was sent to HTTPS port問題解決方法
這篇文章主要介紹了Nginx出現(xiàn)The plain HTTP request was sent to HTTPS port問題解決方法,需要的朋友可以參考下2015-04-04
nginx代理轉(zhuǎn)發(fā)報錯405?Method?Not?Allowed解決
這篇文章主要為大家介紹了解決nginx代理轉(zhuǎn)發(fā)報錯405?Method?Not?Allowed解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
nginx禁止直接通過ip進行訪問并跳轉(zhuǎn)到自定義500頁面的操作
這篇文章主要介紹了nginx禁止直接通過ip進行訪問并跳轉(zhuǎn)到自定義500頁面的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

