nginx配置ssl雙向驗(yàn)證的方法
1、安裝nginx略
http://www.dbjr.com.cn/article/49479.htm
2、使用openssl實(shí)現(xiàn)證書中心
由于是使用openssl架設(shè)私有證書中心,因此要保證以下字段在證書中心的證書、服務(wù)端證書、客戶端證書中都相同
Country Name
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
編輯證書中心配置文件
vim /etc/pki/tls/openssl.cnf
[ CA_default ]
dir = /etc/pki/CA
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
[ req_distinguished_name ]
countryName = Country Name(2 letter code)
countryName_default = CN
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = FJ
localityName = Locality Name (eg, city)
localityName_default = FZ
0.organizationName = Organization Name (eg, company)
0.organizationName_default = zdz
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = zdz
創(chuàng)建證書私鑰
cd /etc/pki/CA/private
(umask 077;openssl genrsa -out cakey.pem 2048)
生成自簽證書
cd /etc/pki/CA/
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days=3655
3、創(chuàng)建服務(wù)器證書
mkdir /usr/local/nginx/ssl
cd /usr/local/nginx/ssl
(umask 077;openssl genrsa -out nginx.key 1024)
openssl req -new -key nginx.key -out nginx.csr
openssl ca -in nginx.csr -out nginx.crt -days=3650
4、創(chuàng)建客戶端瀏覽器證書
(umask 077;openssl genrsa -out client.key 1024)
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.crt -days=3650
將文本格式的證書轉(zhuǎn)換成可以導(dǎo)入瀏覽器的證書
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
5、配置nginx服務(wù)器驗(yàn)證
vim /usr/local/nginx/conf/nginx.conf
ssl on;
ssl_certificate /usr/local/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/nginx/ssl/nginx.key;
ssl_client_certificate /usr/local/nginx/ssl/cacert.pem;
ssl_session_timeout 5m;
#ssl_verify_client on; 服務(wù)器驗(yàn)證客戶端,暫時(shí)不開啟,讓沒有證書的客戶端可以訪問,先完成單向驗(yàn)證
ssl_protocols SSLv2 SSLv3 TLSv1;
點(diǎn)擊“我已充分了解可能的風(fēng)險(xiǎn)”
點(diǎn)擊“添加例外”
點(diǎn)擊“確認(rèn)安全例外”
6、配置雙向驗(yàn)證
nginx配置開啟ssl_verify_client on;
在客戶端瀏覽器沒有安裝證書的情況下訪問
在客戶端瀏覽器導(dǎo)入證書
將在Linux服務(wù)器上生成的客戶端證書下載到windows上
打開火狐瀏覽器的高級選項(xiàng)卡
在證書管理器中的您的證書中點(diǎn)擊導(dǎo)入
選擇證書并導(dǎo)入
再次刷新網(wǎng)頁,彈出“使用確認(rèn)”點(diǎn)擊確定,就實(shí)現(xiàn)了雙向驗(yàn)證
相關(guān)文章
Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索
這篇文章主要介紹了Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10蘋果M1芯片安裝nginx 并且部署vue項(xiàng)目步驟詳解
在本篇文章里小編給大家整理了一篇關(guān)于蘋果M1芯片安裝nginx 并且部署vue項(xiàng)目步驟詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11nginx反向代理踩坑實(shí)戰(zhàn)記錄(容器方式)
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),下面這篇文章主要給大家介紹了關(guān)于nginx反向代理踩坑(容器方式)的相關(guān)資料,需要的朋友可以參考下2022-04-04Nginx隱藏版本號與網(wǎng)頁緩存時(shí)間的方法
這篇文章主要介紹了Nginx優(yōu)化之隱藏版本號與網(wǎng)頁緩存時(shí)間的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11nginx 配置靜態(tài)緩存及靜態(tài)緩存文件沒有生成的問題及解決方案
這篇文章主要介紹了nginx 配置靜態(tài)緩存及靜態(tài)緩存文件沒有生成的問題及解決方案,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項(xiàng),需要的朋友可以參考下2016-04-04Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
這篇文章主要介紹了Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式,Ubuntu下的配置會有一些不同之處,需要的朋友可以參考下2015-07-07