Lua Redis При транзитном шифровании соединения - PullRequest
0 голосов
/ 24 июня 2018

Я использую redis-lua модуль. Как я могу подключиться к серверу redis с транзитным включением в моем скрипте lua? Я использую эластичный кеш AWS, я включил шифрование в пути .

Скрипт Lua, который я использую для подключения к экземпляру redis без включенного шифрования в пути, приведен ниже,

local redis = require 'redis'
local client = redis.connect('127.0.0.1', 6379)
local response = client:ping()

Из моего другого сценария node.js я нашел решение для подключения к экземпляру с включенным шифрованием при передаче, Узел защиты Redis

Код, который я пробовал, приведен ниже. и работает нормально не надежно, но, есть ли какой-нибудь модуль, доступный или какое-либо надежное решение.

local ssl = require "ssl"
local socket = require "socket"
local params = {
    mode = "client",
    protocol = "tlsv1",
    verify = "none",
    options = "all",
}
local tcp_socket = socket.tcp()
tcp_socket:connect("xxxxxxxxxx", "6379")
local conn  = ssl.wrap(tcp_socket, params)
conn:dohandshake()
conn:send("AUTH testing\n\n")
conn:send("SET test tcp\n\n")
local line, err = conn:receive()
print(err or line)
conn:close()

Приветствия

1 Ответ

0 голосов
/ 28 июня 2018

Модуль redis-lua поддерживает множественный способ задания параметров подключения. Одним из способов является создание созданного сокета в таблице, например,

{
    socket = <socket>
}

Чтобы подключиться к транзитному кэшу с включенным шифрованием при транзите,

local ssl = require "ssl"
local socket = require "socket"
local redis = require "redis"
local config = {
    host = "xxxxxxxxxxxxxx",
    port = "6379",
    password = "XXXXXXXXXXXXXXX"
}
local params = {
    mode = "client",
    protocol = "tlsv1",
    verify = "none",
    options = "all",
}
local tcp_socket = socket.tcp()
tcp_socket:connect(config.host, config.port)
local conn  = ssl.wrap(tcp_socket, params)
conn:dohandshake()
local client = redis.connect({
    socket = conn
})
client:auth(config.password)
print(client:ping())
...