nginx 代理服务器配置双向证书验证的方法
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,生成证书链用脚本生成一个根证书, 一个中间证书(intermediate), 三个客户端证书.脚本来源于(有修改)https://stackoverflow.com/questions/2675955
千家信息网最后更新 2025年12月04日nginx 代理服务器配置双向证书验证的方法
生成证书链
用脚本生成一个根证书, 一个中间证书(intermediate), 三个客户端证书.
脚本来源于(有修改)
https://stackoverflow.com/questions/26759550/how-to-create-own-self-signed-root-certificate-and-intermediate-ca-to-be-importe
中间证书的域名为 localhost.
#!/bin/bash -xset -efor C in `echo root-ca intermediate`; do mkdir $C cd $C mkdir certs crl newcerts private cd .. echo 1000 > $C/serial touch $C/index.txt $C/index.txt.attr echo '[ ca ]default_ca = CA_default[ CA_default ]dir = '$C' # Where everything is keptcerts = $dir/certs # Where the issued certs are keptcrl_dir = $dir/crl # Where the issued crl are keptdatabase = $dir/index.txt # database index file.new_certs_dir = $dir/newcerts # default place for new certs.certificate = $dir/cacert.pem # The CA certificateserial = $dir/serial # The current serial numbercrl = $dir/crl.pem # The current CRLprivate_key = $dir/private/ca.key.pem # The private keyRANDFILE = $dir/.rnd # private random number filenameopt = default_cacertopt = default_capolicy = policy_matchdefault_days = 365default_md = sha256[ policy_match ]countryName = optionalstateOrProvinceName = optionalorganizationName = optionalorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional[req]req_extensions = v3_reqdistinguished_name = req_distinguished_name[req_distinguished_name][v3_req]basicConstraints = CA:TRUE' > $C/openssl.confdoneopenssl genrsa -out root-ca/private/ca.key 2048openssl req -config root-ca/openssl.conf -new -x509 -days 3650 -key root-ca/private/ca.key -sha256 -extensions v3_req -out root-ca/certs/ca.crt -subj '/CN=Root-ca'openssl genrsa -out intermediate/private/intermediate.key 2048openssl req -config intermediate/openssl.conf -sha256 -new -key intermediate/private/intermediate.key -out intermediate/certs/intermediate.csr -subj '/CN=localhost.'openssl ca -batch -config root-ca/openssl.conf -keyfile root-ca/private/ca.key -cert root-ca/certs/ca.crt -extensions v3_req -notext -md sha256 -in intermediate/certs/intermediate.csr -out intermediate/certs/intermediate.crtmkdir outfor I in `seq 1 3` ; do openssl req -new -keyout out/$I.key -out out/$I.request -days 365 -nodes -subj "/CN=$I.example.com" -newkey rsa:2048 openssl ca -batch -config root-ca/openssl.conf -keyfile intermediate/private/intermediate.key -cert intermediate/certs/intermediate.crt -out out/$I.crt -infiles out/$I.requestdone
服务器
nginx 配置
worker_processes 1;events { worker_connections 1024;}stream{ upstream backend{ server 127.0.0.1:8080; } server { listen 8888 ssl; proxy_pass backend; ssl_certificate intermediate.crt; ssl_certificate_key intermediate.key; ssl_verify_depth 2; ssl_client_certificate root.crt; ssl_verify_client optional_no_ca; }}客户端
curl \ -I \ -vv \ -x https://localhost:8888/ \ --proxy-cert client1.crt \ --proxy-key client1.key \ --proxy-cacert ca.crt \ https://www.baidu.com/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
证书
客户
客户端
脚本
生成
服务器
服务
配置
三个
内容
就是
来源
学习
帮助
支持
双向
方法
代理
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网电视服务器ip地址怎么弄
嘉定区信息网络技术推荐咨询
工程相机软件开发案例
为什么从软件开发转到测试
查询当前数据库中所有表
godaddy 服务器
做软件开发的平板
软件开发成功经验和失败教训
金华工业软件开发流程
社交聊天软件开发公司l
数据库的数据备份范围有哪些
湖南都市职业学院 服务器
新能源汽车与汽车网络技术
网络安全心得体会200字二年级
网络安全知识竞赛遵义
java数据库事务处理
qq自由幻想无法连接服务器
猫眼电影票房个人数据库
数据库如何备份文件夹
河北慧盈网络技术有限公司简介
白云边酒业网络安全宣传
贵阳的网络技术职业学校
未能找到pppoe服务器
freemarker数据库连接
河源市网络安全攻防演练
企鹅分分彩软件开发
龙湖软件开发在成都那
中国移动智慧城市网络安全中心
eve 几个服务器
网络安全隐患有哪些英语