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

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

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

https 單向認(rèn)證和雙向認(rèn)證

具體可以看看這篇文章 https雙向認(rèn)證,寫(xiě)的很詳細(xì)和形象

  • 單向認(rèn)證

  • 雙向認(rèn)證

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

具體可以看這篇文章 Nginx配置ssl雙向認(rèn)證

1.CA 與自簽名

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

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

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

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

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

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

3.客戶(hù)端證書(shū)(client.client client.key)

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

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

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

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

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

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,進(jìn)行轉(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;
    }
}

測(cè)試

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

總結(jié)

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

相關(guān)文章

  • Nginx配置多個(gè)端口進(jìn)行監(jiān)聽(tīng)的實(shí)現(xiàn)

    Nginx配置多個(gè)端口進(jìn)行監(jiān)聽(tīng)的實(shí)現(xiàn)

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

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

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

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

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

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

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

    nginx訪問(wèn)返回504問(wèn)題及解決

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

建阳市| 威宁| 扶绥县| 华容县| 海盐县| 潢川县| 土默特右旗| 连江县| 揭西县| 古蔺县| 津南区| 新乐市| 吉林省| 红桥区| 鲜城| 深水埗区| 墨脱县| 和林格尔县| 涞水县| 荃湾区| 茂名市| 蕲春县| 同江市| 木里| 东乌| 本溪| 贡觉县| 东安县| 杨浦区| 乌苏市| 普格县| 泰来县| 桑日县| 凌海市| 孝感市| 纳雍县| 吕梁市| 安庆市| 邵阳县| 正安县| 佛学|