OpenResty程序如何连接开启了TLS的Redis?

目录

OpenResty 项目如何连接开启了 TLS 的 Redis

Kong 插件如何连接开启了 TLS 的 Redis


OpenResty 是一个基于 Nginx 和 Lua 的 Web 应用框架,允许开发者通过 Lua 脚本对 Nginx 的配置和行为进行扩展。当 OpenResty 需要连接到一个开启了 TLS 的 Redis 服务器时,需要确保两个方面:一是 Redis 服务器配置了 TLS,二是 OpenResty 客户端能够使用 TLS 进行连接。

OpenResty 项目如何连接开启了 TLS 的 Redis

接下来以 resty.redis 库(代码库地址为 https://github.com/openresty/lua-resty-redis)为例进行讲解,这个库从 v0.28 (要求 ngx_lua 版本大于等于 0.5.14 或者 OpenResty 版本大于等于 1.2.1.14)开始支持连接开启了 TLS 的 Redis,通过 connect 方法的一个可选参数进行配置。connect 的使用方法如下:

syntax: ok, err = red:connect(host, port, options_table?)

或者

syntax: ok, err = red:connect("unix:/path/to/unix.sock", options_table?)

可选的 options_table 参数是一个 Lua 表,和 TLS 相关的两个元素和作用如下:

  • ssl:如果设置为 true,则使用 SSL/TLS 连接到 Redis(默认为 false)。
  • ssl_verify:如果设置为 true,则校验服务器 SSL/TLS 证书的有效性(默认为 false)。注意,为 true 的话需要配置 lua_ssl_trusted_certificate 来指定 Redis 服务器使用的 CA(或服务器)证书,可能还需要相应地配置 lua_ssl_verify_depth。在 nginx.conf 文件中,需要配置以下内容:
lua_ssl_verify_depth 2;
lua_ssl_trusted_certificate /path/to-ca-certs.pem;

具体代码示例如下:

local redis = require "resty.redis"local red = redis:new()red:set_timeout(2000)local sock_opts = {}
local host = "your redis host"
local auth = "your redis password"
local time_window = 300sock_opts.ssl = true
sock_opts.ssl_verify = falselocal ok, err = red:connect(host, 6379,sock_opts)
if not ok thenngx.log(err)return
endlocal times, err = red:get_reused_times()
if err thenngx.log(err)return
endif times == 0 thenif auth ~= "" thenlocal ok, err = red:auth(auth)if not ok thenngx.log(err)returnendend
endlocal ok, err = red:select(0)
if not ok thenngx.log(err)return
end

Kong 插件如何连接开启了 TLS 的 Redis

Kong 是一个开源的 API 网关,旨在帮助开发者和企业管理、保护和扩展其 API 和微服务。Kong 的主要特点如下:

  • 高性能:基于 Nginx 和 OpenResty 构建,处理高并发请求。
  • 可扩展性:支持插件体系,用户可以根据需求扩展功能。
  • 多种部署方式:支持在裸机服务器、虚拟机、容器和 Kubernetes 集群中部署。
  • 安全性:提供多种身份验证和授权机制,确保 API 的安全访问。
  • 易于集成:与现有的 DevOps 工具和 CI/CD 流程无缝集成。

因为 Kong 的插件功能非常强大,通常会开发一系列的插件来支撑项目的需求,接下来讲解一下如何在 Kong 插件中支持连接开启了 TLS 的 Redis。

依然以 resty.redis 库为例进行讲解,因为这个库从 v0.28 开始支持连接开启了 TLS 的Redis 并且要求 OpenResty 版本大于等于 1.2.1.14,所以首先要检查下自己所使用的 Kong 依赖的 resty.redis 和 OpenResty 的版本是否符合要求,不符合要求的话需要升级到支持的版本。升级 resty.redis 库也很简单,首先切到这个库的 github 代码库 https://github.com/openresty/lua-resty-redis,选择 v0.28或以上的 tag,进到 lib/resty 目录,将 redis.lua 下载下来并直接覆盖掉 Kong 目录下的 redis.lua 即可。插件里的代码使用方式和上面类似,关键代码如下:

local host = "your redis host"
local auth = "your redis password"local sock_opts = {}
sock_opts.ssl = true
sock_opts.ssl_verify = falselocal ok, err = red:connect(host, 6379,sock_opts)

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

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

相关文章

传统的springboot项目中,如何进行添加自定义静态资源访问路径实现对静态资源的访问?

如何配置可以实现在浏览器中配置路径实现对resource资源路径下的index.html个性化定制访问路径 要在Spring Boot项目中配置使特定前缀访问静态资源,可以在application.yml文件中配置路径映射。以下是一个示例配置: 打开你的application.yml文件&#xf…

Kylin的优缺点

Kylin(Apache Kylin)是一个开源的分布式分析数据仓库,专为处理大规模数据集和提供快速的多维分析(OLAP)能力而设计。以下是Kylin的主要优点和缺点: 优点 高性能: 快速查询:Kylin通过…

Vue3响应系统的作用与实现

副作用函数的执行会直接或间接影响其他函数的执行。一个副作用函数中读取了某个对象的属性,当该属性的值发生改变后,副作用函数自动重新执行,这个对象就是响应式数据。 1 响应式系统的实现 拦截对象的读取和设置操作。当读取某个属性值时&a…

死灰复燃的 LockBit, “现身说法”计算机安全的重要性

LockBit 死灰复燃 2024年2月,一场全球性的名为 “Cronos 行动” 的执法行动夺取了对 LockBit 勒索组织基础设施的控制权并扰乱了其运营。 但是,就像希腊神话中的九头蛇一样,砍掉一个 LockBit 的头并不重要——它可以迅速再生成多个新的头。…

南京邮电大学运筹学课程实验报告3 整数规划问题求解 指导

一、题目描述 实验三 整数规划问题求解    实验属性: 设计型    实验目的 1.理解图的整数规划问题概念; 2.掌握运筹学软件的使用方法; 3. 掌握整数规划问题求解原理和方法。 实…

傅里叶变换DFT\FFT

文章目录 直流分量(频率为0)傅立叶原理离散频率栅栏效应原理方案:提高采样间隔(频率分辨力) 直流分量(频率为0) 指信号中的直流成分,信号的直流分量就是信号的平均值,它…

MES系统助力塑料制品行业数字化转型

注塑MES系统助力工厂生产力提升具体体现在:覆盖生产全流程;数据自动收集、科学规划排产;优化配送模型、平衡物流运转;严格把控品质、异常自动分析;实时监控设备,保证正常运转;产品快速追溯&…

c#获取本机的MAC地址(附源码)

在前一次的项目中,突然用到了这个获取本机的MAC地址,然后就研究了一下,记录下来,防止以后再用到, 使用winfrom做的,界面一个button,一个textBox,点了button以后给textBox赋值显示mac地址 附上源…

C#基于事件的异步模式实现实例

1、异步操作类 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading; using System.Threading.Tasks; using static System.Windows.For…

Linux下vim工具应用

1.简介 Vim(Vi IMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它是从vi发展而来,vi是Unix和类Unix系统上最初的文本编辑器之一。Vim被设计为程序员和文本编辑的爱好者使用,它以其强大的…

广度优先(BFS)

先看一道简单的题&#xff0c;迷宫问题&#xff1a; 洛谷P1746 离开中山路&#xff1a;P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> #include<cstring> #include<queue> #include <utility> #define N 1002 …

综合监管云平台 DownFile 任意文件读取漏洞复现

0x01 产品简介 综合监管云平台是一种集成了多种先进技术的信息化平台&#xff0c;旨在通过数据采集、分析、预警和应急处理等功能&#xff0c;实现对各类监管对象的全面、高效、精准管理&#xff0c;综合监管云平台利用“互联网物联网”模式&#xff0c;结合云计算、大数据、边…

春招冲刺百题计划|队列

Java基础复习 Java数组的声明与初始化Java ArrayListJava HashMapJava String 类Java LinkedListJava Deque继承LinkedListJava SetJava 队列 第一题&#xff1a;387. 字符串中的第一个唯一字符 class Solution {public int firstUniqChar(String s) {//最简单的方法就是暴力…

p14数组(2)

数组作为函数的参数 冒泡排序 两两比较 void bubble_sort(int arr[],int sz) {int i0;for(i0;i<sz-1;i){//每一趟冒泡排序int j0;for(j0;j<sz-1-i;j){if(arr[j]>arr[j1]){int tmparr[j];arr[j]arr[j1];arr[j1]tmp;}}} } int main(){int arr[]{9,8,7,6,5,4,3,2,1,0}…

关于woocommerce product data tabs, 特别是additional information

woocommerce product data tabs&#xff0c; 也就是默认的这三个&#xff1a; description additional information reviews 包括如何删除&#xff0c;重命名&#xff0c;改显示顺序等等&#xff0c;参考官方文档&#xff1a; https://woocommerce.com/document/editing-p…

《从零到惊艳:快速唱好一首歌的魔法指南》

对于零基础学唱歌的朋友来说&#xff0c;想要快速学会唱好一首歌并非遥不可及。 第一步&#xff0c;精心选歌。如同选择一把适合自己的宝剑&#xff0c;歌曲的选择至关重要。要挑选一首旋律优美、节奏适中、音域符合自身条件且歌词易于理解和记忆的歌曲。比如一些节奏较为缓慢、…

C# CvDnn部署CoupledTPS实现旋转图像矫正

C# CvDnn部署CoupledTPS实现旋转图像矫正 目录 说明 效果 模型信息 项目 代码 下载 说明 TPAMI2024 - Semi-Supervised Coupled Thin-Plate Spline Model for Rotation Correction and Beyond github地址&#xff1a;https://github.com/nie-lang/CoupledTPS 代码实现…

240710_昇思学习打卡-Day22-LSTM+CRF序列标注

240710_昇思学习打卡-Day22-LSTMCRF序列标注 在正式开始LSTMCRF序列标注之前&#xff0c;我们先来了解一下条件随机场&#xff0c;以下仅做简单介绍。 CRF全称Conditional Random Field&#xff0c;按照名字来理解&#xff0c;条件随机&#xff0c;随机输入&#xff0c;条件输…

ReoGrid代替EXCEL显示数据,可视化修改ReoGrid.Mvvm:ReoGrid绑定模型

ReoGrid 是 C&#xff03; 编写的.NET 电子表格控件&#xff08;类似 Excel&#xff09;。支持单元格合并&#xff0c;边框样式&#xff0c;图案背景颜色&#xff0c;数据格式&#xff0c;冻结&#xff0c;公式&#xff0c;宏和脚本执行&#xff0c;表格事件等。支持 Winform\W…

游戏视频是后期配音好还是边录边配 游戏视频怎么剪辑制作才能火 视频剪辑免费软件

游戏视频后期配音是先配还是先剪&#xff1f;游戏视频后期配音没有统一的准则&#xff0c;可以先配&#xff0c;也可以后配&#xff0c;主要是根据内容而定。游戏视频剪辑在游戏玩家中十分流行&#xff0c;那么&#xff0c;游戏视频怎么剪辑制作&#xff1f;下面让我们以具体的…