nginx 正向代理 配置https 雙向認(rèn)證

項目中需要使用代理訪問目標(biāo)服務(wù)器,服務(wù)方只接受https請求,并且使用雙向認(rèn)證 經(jīng)歷了一番波折總算配置成功

現(xiàn)在講配置過程記錄下來。

首先是nginx 配置問題

查閱官方文檔?

http://nginx.org/en/docs/http/ngx_http_proxy_module.html


以下兩項配置https 客戶端認(rèn)證私鑰與證書

proxy_ssl_certificate

proxy_ssl_certificate_key

以下項目配置代理轉(zhuǎn)發(fā)地址

proxy_pass https://127.0.0.1:8443$request_uri;

配置文件


其中有一個坑在與配置代理轉(zhuǎn)發(fā)地址時,如果不添加https:// 客戶端請求的時候會報錯,所以這里一定要寫上。

上面這些都配置好后,代理就能正常使用了。

此外,證書問題可能有些人還會遇到問題,推薦的解決方案是在linux 下使用keytool+opensll 來進(jìn)行證書轉(zhuǎn)換,openssl需可能需要單獨安裝,具體方式可以問度娘。

以下提供從jks中獲取pem格式證書和私鑰的方法:

1、提取公鑰:

切換到j(luò)ks證書的存儲路徑,執(zhí)行如下命令:keytool -list -rfc -keystore demo.jks -storepass demopwd


將證書內(nèi)容完整復(fù)制,粘貼到文件中,保存為cer.pem

2、提取私鑰

私鑰無法直接提取,需要將jks進(jìn)行轉(zhuǎn)換

1)keytool -importkeystore -srckeystore dem.jks -destkeystore demo.p12 -srcstoretype jks -deststoretype pkcs12

2)openssl pkcs12 -nodes -in 10411004511201290.p12 -out demo.pem

vim demo.pem?


將-----BEGIN PRIVATE KEY-----? ……-----END PRIVATE KEY----- 之間內(nèi)容(包含) 進(jìn)行復(fù)制,粘貼到新文件中,保存名稱為privateKey.pem?

或者可以直接執(zhí)行第二個提取私鑰操作 執(zhí)行vim demo.pem? 后可以看到證書和私鑰,分別保存成兩個pem文件即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容