Nginx代理到https地址忽略证书验证配置

Nginx代理到https地址忽略证书验证配置,不推荐在生产环境中使用

在配置中增加:

  • proxy_ssl_server_name on;
  • proxy_ssl_session_reuse ;

Nginx在与后端服务器建立SSL/TLS连接时,将使用请求头中的Host字段值作为SNI的一部分,并且不会重用SSL/TLS会话。这种配置可能在特定场景下是有用的,但通常建议保持proxy_ssl_session_reuse为on以提高性能。

复制代码
location /test/ {
			proxy_pass https://www.baidu.com/;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-Forwarded-Port $server_port;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_ssl_server_name on;
	        proxy_ssl_session_reuse off;
		}
proxy_ssl_server_name

当proxy_ssl_server_name设置为on时,Nginx会在与后端服务器建立SSL/TLS连接时,使用请求头中的Host字段值作为SNI(Server Name Indication)的一部分。SNI是SSL/TLS扩展,它允许客户端在握手过程中指示它想要连接的服务器的主机名。这对于那些托管在单个IP地址上的多个SSL/TLS证书的后端服务器来说非常重要,因为SNI允许服务器根据请求的主机名选择正确的证书。

如果proxy_ssl_server_name未设置或设置为off,Nginx将不会使用Host头部值作为SNI的一部分,这可能会导致SSL/TLS握手失败,特别是当后端服务器期望SNI时。

proxy_ssl_session_reuse

proxy_ssl_session_reuse指令控制Nginx是否重用与后端服务器之间的SSL/TLS会话。当设置为off时,Nginx不会在多个请求之间重用SSL/TLS会话。这意味着每次Nginx与后端服务器建立连接时,都会进行完整的SSL/TLS握手过程,这可能会增加延迟和服务器负载。

相反,当proxy_ssl_session_reuse设置为on(这是默认值)时,Nginx会尝试重用现有的SSL/TLS会话,以减少握手次数并提高性能。

在某些情况下,可能想要禁用会话重用,例如,当后端服务器的SSL/TLS证书频繁更改时,或者出于安全考虑希望每次请求都建立新的连接。

相关推荐
小黑蛋学java12 分钟前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
IVEN_1 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx
asyxchenchong8882 小时前
最新Hermes Agent 技能封装与科研自动化:以 Meta-Analysis 为例-实现从文献检索到绘图的一站式工作流
运维·人工智能·自动化
tianyuanwo2 小时前
项目内自我管理:一名OS领域DevOps的破局之路
运维·devops
三十..2 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
jinglong.zha4 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
Adorable老犀牛5 小时前
Telegraf:InfluxData 出品的指标采集代理
运维·telegraf
北塔软件5 小时前
北塔软件智能体平台 | 不只监控,更是AI时代的数据资产
运维·人工智能·知识库·北塔软件
AOwhisky5 小时前
学习自测与解析:MySQL第五、六、七期核心知识点详解
运维·数据库·笔记·学习·mysql·云计算
无限进步_6 小时前
从零实现一个迷你Shell——深入理解Linux命令行解释器
linux·运维·服务器·开发语言·c++·chrome