最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

https如何通過nginx完成雙向認證轉(zhuǎn)發(fā)

 更新時間:2024年11月19日 09:18:05   作者:darkeering  
文章詳細介紹了HTTPS單向認證和雙向認證的概念,并提供了生成自簽證書、配置Nginx進行雙向認證的具體步驟,通過雙向認證,服務(wù)端和客戶端可以互相驗證身份,提升安全性,在測試過程中,使用瀏覽器訪問HTTPS接口時,需要安裝客戶端證書才能成功獲取數(shù)據(jù)

https 單向認證和雙向認證

具體可以看看這篇文章 https雙向認證,寫的很詳細和形象

  • 單向認證

  • 雙向認證

生成自簽證書、服務(wù)端證書和客戶端證書

具體可以看這篇文章 Nginx配置ssl雙向認證

1.CA 與自簽名

# 生成CA私鑰,會讓你輸自定義密碼(例:000000)
openssl genrsa -aes256 -out ca.key 2048

# 制作CA公鑰/根證書
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
# 輸入CA密碼:000000
# Common Name 隨意填寫(test.com);其它隨意

2.服務(wù)端證書(server.client server.key)

# 生成服務(wù)器私鑰(.pem文件),會讓你輸自定義密碼(例:111111)
openssl genrsa -aes256 -out server.pem 1024
# .pem文件轉(zhuǎn)換.key文件
openssl rsa -in server.pem -out server.key
# 輸入Server密碼:111111

# 生成簽發(fā)請求
openssl req -new -key server.pem -out server.csr
# 輸入Server密碼:111111
# Common Name填寫自己的ip地址即可,其他隨意

# 用CA簽發(fā)證書
openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt
# 輸入CA密碼:000000

3.客戶端證書(client.client client.key)

# 生成客戶端私鑰(.pem文件),會讓你輸自定義密碼(例:222222)
openssl genrsa -aes256 -out client.pem 1024
# .pem文件轉(zhuǎn)換.key文件
openssl rsa -in client.pem -out client.key
# 222222

# 生成簽發(fā)請求
openssl req -new -key client.pem -out client.csr
# 輸入Client密碼:222222
# Common Name填寫自己的ip地址即可,其他隨意

# 用CA簽發(fā)證書
openssl x509 -req -sha256 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out client.crt
# 輸入CA密碼:000000

# 使用瀏覽器訪問時,需要生成p12格式的客戶端證書,會讓你輸入自定義密碼(例:123456)
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

服務(wù)端使用 https 進行通信,并使用雙向認證

const express = require("express");
const https = require("https");
const fs = require("fs");
const app = express();
const PORT = 7000;
const options = {
  key: fs.readFileSync("./ssl/server.key"),
  cert: fs.readFileSync("./ssl/server.crt"),
  ca: [fs.readFileSync("./ssl/ca.crt")],
  requestCert: true,
  rejectUnauthorized: true,
};

https
  .createServer(options, app)
  .listen(PORT, () => console.log(`App listening on port ${PORT}!`));

app.get("/v1", (req, res) => res.send("Hello World!"));

配置 nginx,進行轉(zhuǎn)發(fā)

server {
    listen       8080;
    server_name  localhost;

    location /api {
        proxy_ssl_certificate ssl/client.crt;
        proxy_ssl_certificate_key ssl/client.key;
        # client-pw.txt 里面是Client密碼:222222
        proxy_ssl_password_file ssl/client-pw.txt;
        proxy_pass https://localhost:7000/v1;

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

測試

  1. 直接使用瀏覽器訪問 https://loalhost:7000/v1 是獲取不到數(shù)據(jù)的
  2. 使用 http://loalhost:8080/api 是可以獲取到數(shù)據(jù)的
  3. 或者瀏覽器安裝 client.p12 證書(安裝時輸入的密碼是 p12 密碼:123456)也是可以通過 https://loalhost:7000/v1 獲取數(shù)據(jù)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx配置多個端口進行監(jiān)聽的實現(xiàn)

    Nginx配置多個端口進行監(jiān)聽的實現(xiàn)

    隨著容器的應(yīng)用越來越多,將nginx部署在容器中也是常有之事,本文主要介紹了Nginx配置多個端口進行監(jiān)聽的實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 使用nginx正向代理實現(xiàn)內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)過程解析

    使用nginx正向代理實現(xiàn)內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)過程解析

    這篇文章主要介紹了使用nginx正向代理實現(xiàn)內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 詳解nginx使用ssl模塊配置HTTPS支持

    詳解nginx使用ssl模塊配置HTTPS支持

    本篇文章主要介紹了詳解nginx使用ssl模塊配置HTTPS支持 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 線上Nginx頻繁502的排查過程與解決方案

    線上Nginx頻繁502的排查過程與解決方案

    本文詳細介紹了在線上Nginx頻繁出現(xiàn)502錯誤的排查過程,包括監(jiān)控數(shù)據(jù)、Nginx和后端服務(wù)的狀態(tài)檢查、連接數(shù)分析以及最終的解決方案,作者通過調(diào)整系統(tǒng)參數(shù)、優(yōu)化Nginx配置和多實例負載均衡等措施,成功解決了502錯誤問題,需要的朋友可以參考下
    2026-01-01
  • nginx訪問返回504問題及解決

    nginx訪問返回504問題及解決

    這篇文章主要介紹了nginx訪問返回504問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Nginx靜態(tài)資源優(yōu)化、壓縮、緩存詳解

    Nginx靜態(tài)資源優(yōu)化、壓縮、緩存詳解

    文章主要介紹了如何優(yōu)化Nginx對靜態(tài)資源的處理,包括sendfile、tcp_nopush和tcp_nodelay三個屬性的配置,以及如何通過設(shè)置Gzip來壓縮靜態(tài)資源,此外,還詳細解釋了Web緩存的概念,包括客戶端緩存和服務(wù)器緩存,并介紹了瀏覽器緩存的相關(guān)指令和執(zhí)行流程
    2025-12-12
  • nginx 多個location轉(zhuǎn)發(fā)任意請求或訪問靜態(tài)資源文件的實現(xiàn)

    nginx 多個location轉(zhuǎn)發(fā)任意請求或訪問靜態(tài)資源文件的實現(xiàn)

    這篇文章主要介紹了nginx 多個location轉(zhuǎn)發(fā)任意請求或訪問靜態(tài)資源文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nginx實戰(zhàn)之反向代理WebSocket的配置實例

    Nginx實戰(zhàn)之反向代理WebSocket的配置實例

    最近在工作中遇到一個需求,需要使用 nginx 反向代理websocket,經(jīng)過查找一番資料,目前已經(jīng)測試通過,所以這篇文章主要給大家介紹了Nginx反向代理WebSocket配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • nginx子目錄代理的實現(xiàn)示例

    nginx子目錄代理的實現(xiàn)示例

    本文主要介紹了nginx子目錄代理的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • nginx的zabbix 5.0安裝部署的方法步驟

    nginx的zabbix 5.0安裝部署的方法步驟

    之前大家可能經(jīng)常會基于apache去部署zabbix,但是這樣會偶爾遇到一些問題,今天小編就帶大家操作一下基于nginx的zabbix5.0的部署。感興趣的可以了解一下
    2021-07-07

最新評論

神木县| 大丰市| 资源县| 鄂尔多斯市| 惠来县| 普兰店市| 仙居县| 广州市| 遵义县| 扶风县| 肥城市| 通许县| 宽城| 永胜县| 湘乡市| 通州市| 宜兰市| 民和| 合川市| 密山市| 皮山县| 昌图县| 贵定县| 双辽市| 海口市| 南和县| 泌阳县| 东城区| 富裕县| 郑州市| 荥经县| 西宁市| 镇原县| 华蓥市| 泌阳县| 西青区| 泽普县| 恩平市| 丹阳市| 乌兰县| 珲春市|