nginx(六十八)http_proxy模块 nginx与上游的ssl握手

news2025/7/14 20:19:32

一   nginx作为客户端上游的SSL/TLS握手

理解上: nginx作为'客户端',此时类似'浏览器'的角色,发请求建立连接

nginx作为server端与下游进行SSL/TLS握手

①  nginx与后端选择什么样的协议

1)如果'nginx与上游'是局域网内,一般通过'http'建立请求,不需要进行'tls'加密

2)nginx与上游需要'ssl/tls握手'场景 -->  '正向代理

   备注: 一般上游服务是'走公网的合作方'的服务,且对'安全级别'要求较高 -->'CDN'之类的

nginx作为反向代理,当后端为https时的一些细节和原理

(1)nginx作为客户端转发https请求时

①  proxy_ssl_ciphers

说明: nginx作为'客户端'自己支持的'加密套件'

②  proxy_ssl_server_name

思考:一个ip绑定'多个域名'很常见,为什么'使用off','默认不启用 SNI'呢?

+++++++++++++  "设置off  没有启动SNI现象"  +++++++++++++ 

现象:由于没启用SNI,TLS握手的时候,'上游服务器不知道'用那个域名的证书便使用了'默认'证书返回

说明:当'on'时,在ssl握手时默认'$proxy_host'传给上游服务器,以便'上游服务器'知道用哪个证书

③  proxy_ssl_certificate

说明: nginx作为客户端自己的'客户端证书'

④  proxy_ssl_certificate_key

说明: nginx作为'客户端'自己的'私钥'

⑤  proxy_ssl_password_file

⑥  proxy_ssl_protocols

说明: nginx作为'客户端',发起请求进行'SSL'握手的'TLS'版本

⑦  proxy_ssl_session_reuse 

 

 (2)nginx作为客户端校验上游服务器的证书

说明: nginx一般'不校验'上游'证书'的有效性

①  proxy_ssl_verify

1)​'proxy_ssl_server_name off没有启用SNI',导致TLS握手时候'上游'可能返回一个'默认'证书

2) 虽然'证书返回的不对',但'请求不受影响',HTTPS请求上游时'默认不验证'上游服务器返回的证书

②  proxy_ssl_verify_depth 

相关参考

③  proxy_ssl_certificate

④   proxy_ssl_trusted_certificate

说明: 用这个'签发证书的CA'去校验'上游'服务器返回的'证书'是否是该'CA'签发的

⑤  proxy_ssl_name

1)​'proxy_ssl_server_name on 启用SNI',默认使TLS与'上游'握手时候插入一个'SNI'

2)默认值是'$proxy_host',可以自定义'插入的SNI'

(3)小结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/38823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用flv.js + websokect播放rtsp格式视频流

1.问题背景 在最近的项目中,涉及到海康接入的视频播放的问题,海康这边获取到的视频流是rtsp格式,web端目前没有直接可以播放的组件,于是最开始是后端处理了视频流,返回hls格式的m3u8地址,这样用videojs插件…

进程【JavaEE初阶】

目录 一、操作系统 二、进程 2.1 进程的概念 2.2 进程的管理 2.3 PCB 2.3.1 PCB里面的一些属性 2.3.2 进程的调度 2.3.3 进程的虚拟地址空间 2.3.4 进程间通信 一、操作系统 CPU、存储器、输入设备、输出设备,这些实物看得着摸得到的,都属于 …

web前端-javascript-switch条件分支语句(语法,执行流程,补充)

文章目录条件分支语句(switch 语句)1. 语法;2. 执行流程:2.1. 在执行时会依次将 case 后的条件表达式的值和 switch 后的条件表达式的值进行全等比较2.2. 如果比较结果为 true,则从当前 case 处开始执行代码2.3. 如果比较结果为 false&#x…

【知识网络分析】研究机构合作网络(co-investigator institution)

研究机构合作网络(co-investigator institution) 1 网络数据集读取2 网络最大子群数据获取与精简3 中心点指定网络半径子群获取4 节点中心度相关指标计算1 网络数据集读取 使用GC.networkCoInvestigatorInstitution()方法快速生成研究结构合作网络数据集,其中GC代表着读入p…

解析华为OSPF协议

文章目录 前言一、pandas是 目录 文章目录 OSPF基础 一、报文类型 二、LSA类型 三.LSA在各区域中传播的支持情况 四.邻居状态机 邻居关系 邻接关系 8种状态机: OSPF报文认证 OSPF缺省路由 2.读入数据 总结 什么?二、使用步骤 1.引入库2.读入数…

卷积神经网络CNN各层基本知识

卷积神经网络 卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层以及全连接层构成。 INPUT(输入层)-CONV(卷积层)-RELU(激活函数)-POOL(池化层)-FC(全连接层&#…

[VNCTF2022]easyj4va

看源码 输入 /file?url 1报错 用伪协议可以读取到内容 /file?urlfile:///etc/passwd 然后就是查看java字节码文件的目录 file?urlfile:///usr/local/tomcat/webapps/ROOT/WEB-INF 这里官方给了另外一个协议netdoc,跟file用法是一样的,但是这个netd…

JDK动态代理与Cglib动态代理使用详解

JDK动态代理与Cglib动态代理使用详解一、JDK动态代理准备使用二、Cglib动态代理准备使用Enhancer.create(Class type, Callback callback)Enhancer.create((Class superclass, Class[] interfaces, Callback callback))Enhancer.create(Class superclass, Class[] interfaces, …

【学习笔记35】JavaScript计算两个指定日期的时间差

一、要求 计算两个指定日期的时间差(2023年元旦到来的时间) 二、分析 先获取到两个时间距离1970(格林尼时间)~~~毫秒数计算两个毫秒数的差值 ----> 得到了总毫秒数计算总毫秒数内, 有多少个完整的天 parseInt(总毫秒数 / 一天的…

会话跟踪技术-session和cookie

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。 Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 Cookie对象与HttpSession对象简…

nginx(六十七)http_ssl模块 client与nginx的ssl握手

一 HTTPS握手机制 关注点: SSL/TLS握手的细节与nginx配置指令的关系核心: 讲解客户端(下游)与作为server端的nginx之间的握手最佳实践: 建议在http块中通过include ssl.conf把共工部分抽离处理ssl/tls报错原因:可能是客户端或服…

Flutter高仿微信-第56篇-搜索好友

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: /*** Author : wangning* Email : maoning20080809163.co…

Java---Stream流详解

目录​​​​​​​ 一、Stream流详解 二、Stream流的获取 (1)单列集合 (2)双列集合 (3)数组 (4)一些零散数据 三、Stream流中常用的API方法 (1)中间…

含可再生能源的热电联供型微网经济运行优化_粒子群PSO算法_matlab程序

含可再生能源的热电联供型微网经济运行优化matlab程序 参考文献:含可再生能源的热电联供型微网经济运行优化 热电联供系统具有节能! 环保! 经济等特点" 有着良好的发展前景和应用价值# 文中针对由 风电机组! 光伏电池! 燃料电池! 余热锅炉! 燃气锅炉! 蓄电池以…

含电热联合系统的微电网运行优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

SpringBoot+Vue项目投稿和稿件处理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

MYSQL中的锁

全局锁 就是对整个数据库进行加锁,加锁之后整个数据库就处于只读状态,后续的DML写语句,DDL语句,以及对更新事务的提交操作都会被阻塞,典型地使用场景就是做整个数据库的逻辑备份,对所有的表进行锁定&#x…

非凡社群管理之如何高效的进行社群管理

一、初始成员的严格筛选 我们建立社群初期,就要严格筛选初始会员,争取让我们找到的第一批种子用户,就是有着共同的连接点。而不是找到一群人之后,再去培养大家的同好。这样不仅吃力不讨好,往往效果也不太高&#xf…

Kafka系列之:实现Kafka Connect集群访问认证

Kafka系列之:实现Kafka Connect集群访问认证 一、Kafka Connect访问控制二、Kafka Connect技术知识三、详细介绍Kafka connect访问认证实现过程四、启动Kafka Connect集群五、测试Kafka Connect集群访问认证一、Kafka Connect访问控制 实现的效果如下所示: 错误的用户名和密…

nginx降权及匹配php

1.nginx降权 1.1 capabilities的介绍与运用 1.2 用普通用户启动nginx 1.3 root用户权限赋予 1.4 查看普通用户的nginx权限 1.5 查看nginx的欢迎网页 2.nginx与php的相互匹配 2.1 安装php及php-fpm包 2.2 检查php-fpm服务运行状态 2.3 php-fpm上的配置 2.4 nginx上的配…