nginx:对上下游使用SSL连接

Nginx的浏览器/服务器双向SSL证书认证配置 最近的项目中需要安全性控制,而我又懒得改动后台的程序代码,故而想在反向代理层加入SSL证书验证。一直在用Nginx做反向代理,但是其SSL的配置只用过普通的服务端单向证书。在Google,百度狂搜一通之后,一无所获,依旧是那老三样,只有单向认证的示例。浏览器端双向认证的配置好像从没人写过。无奈之下,只好从OpenSSL的客户端证书开始学起,一点一点啃,大段大段的E文让我这半瓶子醋看的头晕眼晕。最后 阅读详情
AI摘要

本文详细介绍了Nginx中SSL证书的配置方法,包括对下游和上游使用证书的具体指令,如ssl_certificate, ssl_certificate_key等,以及验证证书的指令如ssl_verify_client, proxy_ssl_verify等。同时,还介绍了Nginx提供的SSL相关变量,如ssl_cipher, ssl_protocol等。

对下游使用证书

1.ssl_certificate 指令

   语法:ssl_certificate   file;

   默认:空

   放置位置:http,server

2.ssl_certificate_key 指令

   语法:ssl_certificate_key   file;

   默认:空

   放置位置:http,server

 

验证下游证书

1.ssl_verify_client  指令

   语法:ssl_verify_client   on | off | optional_no_ca  

   默认:ssl_verify_client off;

   放置位置:http,server

2.ssl_client_certificate  指令

   语法:ssl_client_certificate  file; 

   默认:空

   放置位置:http,server

 

 

对上游使用证书

1.proxy_ssl_certificate 指令

   语法:proxy_ssl_certificate   file;

   默认:空

   放置位置:http,server,location

2.proxy_ssl_certificate_key 指令

   语法:proxy_ssl_certificate_key   file;

   默认:空

   放置位置:http,server,location

 

 

验证上游证书

1.proxy_ssl_trusted_certificate  指令

   语法:sproxy_ssl_trusted_certificate   file;  

   默认:空

   放置位置:http,server,location

2.proxy_ssl_verify  指令

   语法:proxy_ssl_verify    on | off; 

   默认:proxy_ssl_verify    off;

   放置位置:http,server,location

 

ssl模块提供的变量

安全套件:

   ①ssl_cipher:本次通讯选用的安全套件

   ②ssl_ciphers:客户端支持的所有安全套件

   ③ssl_protocol:本次通讯选用的TLS版本,例如TLSv.2

   ④ssl_curves:客户端支持的椭圆曲线。

证书:

   ①ssl_client_raw_cert:原始客户端证书内容

   ②ssl_client_escaped_cert:返回客户端证书做urlencode编码后的内容

   ③ssl_client_cert:对客户端证书每一行内容前加tab制表符空白,增强可读性

   ④ssl_client_fingerprint:客户端证书的SHA1指纹

Nginx系列之支持SSL认证 通过实际例子演示方式介绍Nginx如何支持SSL认证 阅读详情

相关推荐

nginx stream proxy 模块的ssl连接源码分析

本为对 nginx的ngx_stream_proxy_module与上游服务器建立ssl连接的过程进行了详细分析。

一个致力于开源代码学习、分析和交流的博客 3331

Nginx https反向代理502错误,proxy_ssl_server_name、proxy_ssl_verify

Nginx作用反向代理与上游服务器使用HTTPS建连时,默认不启用SNI,使用参数启用;默认不验证上游服务器返回的证书,使用开启上游证书验证后Nginx会使用配置文件中指定的CA验证上游服务器返回证书的合法性,同时也会比对证书中的CommonName信息。

zzhongcy的专栏 1万+

Nginx:SSL/TLS 配置

Nginx是一个高性能的HTTP和反向代理web服务器,是运维中十分常用的中间件,本篇文章将介绍Nginx的SSL/TLS 配置

二次源的博客 1702

nginx配置ssl单-双向验证 nginx https ssl证书配置

1、安装nginx 参考《nginx安装》:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个https,请看《nginx 同一个IP上配置多个HTTPS主机》 2、使用openssl实现证书中心 由于是使用openssl架设私有证书中心,因此要保证以下字段在证书中心的证书、服务端证书、客户端证书中都相同 1 2 3 4 5 Country Name

梦想起飞的地方......... 2811

Nginx添加SSL模块

nginx的SSL模块安装以及基本的配置

m0_71518373的博客 5526

Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"(Nginx目录中无configure)

1. 前言 项目中需要将请求方式改为https,在给Nginx配置SSL证书的时候,执行./nginx -t 报错: “nginx: [emerg] unknown directive ssl” 2. 原因 Nginx没有添加SSL模块,需要手动添加 3. 解决 1、准备手动添加SSL模块,看网上的文章都是进入Nginx解压目录中,执行: ./configur...

guocunlei的博客 3106

【Nginx】作为反向代理时对上游使用SSL连接

1.引言 之前用letsencrypt演示了Nginx如何支持SSL以实现全站加密的网络安全效果. 在那个场景中只是Nginx作为server使用了自己的证书,把自己的证书告诉客户端. 其实Nginx也可以验证客户端的证书是否有效,Nginx作为反向代理服务器的时候, 如果其连接的上游服务器也使用了SSL,那么Nginx也可以验证上游服务的证书是否 有效.如果上游服务要求Nginx必须使用一个SSL证书,NGINX也可以在连接上游时使用 一个新的证书.所以这里新增了三种SSL使用场景,接下来我们将

Edidaughter的博客 668

Nginx负载均衡中的连接升级至SSL:配置指南与最佳实践

在网络安全日益受到重视的今天,使用SSL/TLS加密Web流量已成为标准做法。Nginx作为一个高性能的HTTP服务器和反向代理,提供了丰富的配置选项来支持SSL连接。连接升级至SSL意味着客户端可以通过一个初始的非加密连接与服务器建立通信,然后升级到加密的SSL连接。本文将详细介绍如何在Nginx负载均衡中配置连接升级至SSL,包括证书配置、负载均衡策略和安全性考虑。

2402_85758936的博客 906

【Nginx】Nginx 使用 SSL 的详细指南

在当今的网络环境中,数据安全至关重要。Let’s Encrypt 的证书有效期为 90 天,建议设置自动续订。通过以上步骤,你可以在 Nginx 中成功配置 SSL,提高网站的安全性。定期检查和更新你的 SSL 配置,以确保最佳的安全性。希望这个详细的博客内容能够帮助你成功配置 Nginx SSL!你可以选择购买商业 SSL 证书,或者使用 Let’s Encrypt 提供的免费 SSL 证书。首先,确保 Nginx 已安装在你的服务器上。根据提示完成配置,Certbot 会自动为你配置 Nginx。

人生苦短,睡觉要紧,睡醒再说 2323

nginx 配置ssl

nginx 配置ssl

congge 1万+

nginx双向认证配置proxy_ssl_verify_depth详解

当待验证的客户端证书是由intermediate-CA签发,而非有root-CA签发时,需要在proxy_ssl_trusted_certificate中配置intermediate-CA和root-CA组成的证书链文件 也就是说,直接尝试使用中级 CA 来验证客户端是无法通过的,openssl 会自动的去找中级 CA 的签发者一层层验证上去,直到找到根。 因此,在实际使用的时候,需要注意一下两点: CA 文件中必须同时存在 中级 CA 和 根 CA,必须构成完整证书链,不能少任何一个; 默认的验证深度 SslVerifyDepth ssl_verify_depth 是 1,也就是说只要是中级

Nginx:Nginx添加SSL实现HTTPS访问

分布式篇 - Nginx添加SSL & 实现HTTPS访问 上一篇博文给大家介绍了Nginx的安装与运行: 分布式篇 - Nginx安装与运行 今天博主给大家分享如何给Nginx添加SSL,实现HTTPS访问Nginx服务,但前提条件是你的服务器有SSL,博主是阿里云的服务器,可以免费申请SSL,其他云服务器平台应该也是如此。 如果你没有安装Nginx,跟着博主一起动手即可,如果之前已经安装好了,也不需要担心,步骤其实都是差不多的。 安装依赖环境 安装gcc环境 yum install -y g

kaven 8645

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份全面的IEC61850通信协议测试验证实战指南,强调测试必须从理论走向工程实践。文章详细讲解了如何搭建测试环境,并深入剖析了MMS、GOOSE、SV三大核心协议的实战测试方法,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备的互操作性与通信可靠性。

weixin_29204121的博客 170

Nginx配置SSL报错 nginx:[emerg] unknown directive “ssl”

前言:配置Nginx + sll 报错`nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:43`,本章将详细说明如何解决

程序猿杂记 1万+

ROS2 Jazzy 学习路线图(2026最新)

摘要: ROS2 Jazzy(LTS版)是2026年长期支持版本,仅适配Ubuntu 24.04。本文提供WSL环境下的学习路线图: 环境搭建(1-2天):配置WSL2+Ubuntu 24.04,安装ROS2 Jazzy及图形工具(VcXsrv、VS Code)。 核心概念(3-5天):掌握节点、话题、服务等通信机制,使用turtlesim和小海龟仿真实践。 开发实战(7-10天):Python/C++节点开发,结合RViz2、Gazebo等工具完成多节点通信和避障项目。 进阶应用(10-15天):导航(N

zheng_ruiguo的专栏 636

飞秒激光加工石英玻璃的COMSOL多物理场仿真研究

多物理场仿真是现代工程研发的重要工具,通过耦合电磁、热传导和流体力学等物理场,可以准确预测复杂工况下的材料行为。COMSOL Multiphysics作为主流仿真平台,其双温模型能精确描述飞秒激光加工中的电子-声子耦合过程。这种仿真技术可显著降低实验成本,在微纳加工领域尤为关键。针对石英玻璃这类光学材料,仿真能有效优化激光参数,实现亚微米级精度的冷加工。研究显示,结合移动网格技术和自定义材料状态函数,可以准确预测烧蚀形貌与热影响区分布,为光学器件和微流控芯片制造提供可靠工艺指导。

weixin_29290863的博客 240

SSL证书制作及nginx部署

本文主要介绍了SSL证书的制作及如何将证书部署在nginx中,并简要说明在制作及部署过程中可能遇到的问题。

yudaxiaye的博客 2245

手把手教你为RK3588开发板适配RTL8211F网卡:设备树配置与PHY驱动匹配全流程

本文详细介绍了在RK3588开发板上适配RTL8211F千兆以太网PHY芯片的全流程,包括硬件原理图确认、设备树配置与PHY驱动匹配。通过实战案例和调试技巧,帮助开发者解决常见问题并优化网络性能,适用于嵌入式Linux开发中的Ethernet网络功能实现。

weixin_29184075的博客 526

Linux下Nginx配置SSL模块,Nginx安装SSL,Nginx支持https配置详细教程

安装好Nginx之后,需要支持SSL时,要单独安装SSL模块,方法如下:输入 ./nginx –V 命令,注意V是大写,查看配置是否包含“–with-http_ssl_module”,包含则表示已配置好SSL,如果不包含,则需要安装SSL模块

老油条 6539

STM32G474开发板初步入门与编程实战

STM32G474开发板提供了一种快速评估、原型设计和开发STM32G474应用的方式。它搭载了STM32G474RET6微控制器,配备512KB闪存、128KB RAM,支持各种常见的接口和连接,如USB、I2C、SPI、UART等。板载ST-Link/V2-1调试器/编程器,简化了开发过程。

qq_38334677的博客 4953

利用autojs制作抢购支付宝消费劵的手机脚本

前期准备工作 1.打开支付宝,点击中间的抢消费券的广告 2.点击左上角,将抢购页面添加到首页 3.查看支付宝首页是否出现消费劵 . autojs代码 "auto"; functiontaskstart(){ sleep(1000); launchApp('支付宝'); toast("正在打开支付宝应用"); sleep(1000); varxf=textContains("消费").findOne().bounds(); ...

洛阳泰山的博客 1万+

nginx 使用SSL对流量进行加密

说白了就是将我们常用的http请求转变成https请求,那么这两个之间的区别简单的来说两个都是HTTP协议,只不过https是身披SSL外壳的http. HTTPS是一种通过计算机网络进行安全通信的传输协议。它经由HTTP进行通信,利用SSL/TLS建立全通信,加密数据包,确保数据的安全性。 SSL(Secure Sockets Layer)安全套接层 TLS(Transport Layer Security)传输层安全 上述这两个是为网络通信提供安全及数据完整性的一种安全协议,TLS和SSL在传输层和应用

认知 行动 坚持 7098

Kong API Gateway 配置与深入

Kong是一个开源的、高性能的API网关,提供了一种简单易用的服务间路由、流量管理和安全防护方案,其最初起源于Nginx Inc.,但后迁移至Apache Software Foundation。Kong支持RESTful、GraphQL、TCP/UDP等协议,可与AWS Lambda、Azure Functions、Google Cloud Functions等云函数平台集成。其主要功能包括:服务发现与负载均衡、请求代理、身份认证与授权、缓存、日志记录、监控指标、灰度发布、多种插件等。

AI天才研究院 2282

nginx ssl模块使用详解

        nginx 针对https提供ssl/tls配置功能的支持,这些功能由openssl库提供,除了原生的nginx模块能对https提供支持之外,openresty也同样在nginx原生的基础上 提供了lua脚本层面对https进行配置与处理的功能。        nginx openssl模块在ngx_http_ssl_module实现,实际与openssl进行交互的模块还是在ng...

huzilinitachi的专栏 1万+

OpenClaw界面操作手册:命令行与交互模式的正确打开方式

"test": {"description": "运行项目的测试套件","prompt": "请执行项目的测试命令,并分析测试结果。如果有失败的测试,请提供修复建议。},"lint": {"description": "运行代码检查","prompt": "请运行代码检查工具,分析所有警告和错误,并提供修复建议。},"doc": {"description": "为当前文件生成文档","prompt": "请为当前打开的文件生成完整的API文档,包括函数说明、参数描述、返回值类型和使用示例。

gaoxiang_120的专栏 3146

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: nginx :上游返回失败时的处理办法
下一篇: nginx:缓存·
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值