欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

  • 單向認(rèn)證

  • 雙向認(rèn)證

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

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

1.CA 與自簽名

# 生成CA私鑰,會(huì)讓你輸自定義密碼(例: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文件),會(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填寫自己的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文件),會(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填寫自己的ip地址即可,其他隨意

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

# 使用瀏覽器訪問時(shí),需要生成p12格式的客戶端證書,會(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. 直接使用瀏覽器訪問 https://loalhost:7000/v1 是獲取不到數(shù)據(jù)的
  2. 使用 http://loalhost:8080/api 是可以獲取到數(shù)據(jù)的
  3. 或者瀏覽器安裝 client.p12 證書(安裝時(shí)輸入的密碼是 p12 密碼:123456)也是可以通過 https://loalhost:7000/v1 獲取數(shù)據(jù)

總結(jié)

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

相關(guān)文章

  • Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解

    Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解

    pathinfo是偽靜態(tài)的一種,對(duì)于用過thinkphp的朋友們來(lái)說(shuō)應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Nginx如何實(shí)現(xiàn)pathinfo模式的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • 你知道Nginx嗎,利用Nginx反向代理的操作方法

    你知道Nginx嗎,利用Nginx反向代理的操作方法

    Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器,可以用于反向代理,客戶端只與Nginx交互,而不知道后端服務(wù)器的存在,以下是一個(gè)簡(jiǎn)單的Nginx反向代理配置示例,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • nginx界面管理工具之nginxWebUI?搭建與使用方法

    nginx界面管理工具之nginxWebUI?搭建與使用方法

    本文主要介紹了nginx界面管理工具之nginxWebUI?搭建與使用方法
    2024-08-08
  • nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    這篇文章主要為大家介紹了nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Nginx如何配置Http、Https、WS、WSS的方法步驟

    Nginx如何配置Http、Https、WS、WSS的方法步驟

    這篇文章主要介紹了Nginx如何配置Http、Https、WS、WSS的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 簡(jiǎn)單指南:在Linux上安裝Nginx

    簡(jiǎn)單指南:在Linux上安裝Nginx

    本文將介紹如何在Linux系統(tǒng)下安裝Nginx,Nginx是一款高性能的Web服務(wù)器和反向代理服務(wù)器,被廣泛用于構(gòu)建高可靠性、高性能的網(wǎng)站和應(yīng)用程序,通過本文的指導(dǎo),您將學(xué)會(huì)如何在Linux系統(tǒng)上安裝Nginx,并進(jìn)行基本的配置,需要的朋友可以參考下
    2023-10-10
  • 基于Nginx實(shí)現(xiàn)限制某IP短時(shí)間訪問次數(shù)

    基于Nginx實(shí)現(xiàn)限制某IP短時(shí)間訪問次數(shù)

    這篇文章主要介紹了基于Nginx實(shí)現(xiàn)限制某IP短時(shí)間訪問次數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略

    Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略

    這篇文章主要介紹了Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略,包括緩存的相關(guān)設(shè)定以及負(fù)載均衡的一些常見問題的解決,極力推薦!需要的朋友可以參考下
    2015-08-08
  • 強(qiáng)大的Nginx配置生成器詳解

    強(qiáng)大的Nginx配置生成器詳解

    Nginx?Config?是一款可以一鍵生成?Nginx?配置的神器,相當(dāng)給力,這篇文章主要介紹了強(qiáng)大的Nginx配置生成器,需要的朋友可以參考下
    2022-11-11
  • Nginx+Tomcat高性能負(fù)載均衡集群搭建教程

    Nginx+Tomcat高性能負(fù)載均衡集群搭建教程

    這篇文章主要為大家詳細(xì)介紹了Nginx+Tomcat高性能負(fù)載均衡集群搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評(píng)論