ssl session repeated sslhandshake
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- lua
- Ambito
- networking
Direzione di ricerca
Inizia da lib/resty/websocket/client.lua intorno alla riga 172, quindi leggi la semantica delle API sslhandshake e getreusedtimes di ngx_lua e l’implementazione referenziata di lua-resty-kafka broker.lua. Verifica il percorso del connection-pool wss e definisci il completamento come l’evitare un handshake ripetuto per le connessioni riutilizzate, preservando al contempo la gestione degli errori dell’handshake iniziale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
branch : master
if scheme == "wss" then
if not ssl_support then
return nil, "ngx_lua 0.9.11+ required for SSL sockets"
end
if client_cert then
ok, err = sock:setclientcert(client_cert, client_priv_key)
if not ok then
return nil, "failed to set TLS client certificate: " .. err
end
end
ok, err = sock:sslhandshake(false, server_name, ssl_verify)
if not ok then
return nil, "ssl handshake failed: " .. err
end
end
According to the api manual https://www.kancloud.cn/qq13867685/openresty-api-cn/159103
session, err = tcpsock:sslhandshake(reused_session?, server_name?, ssl_verify?)
I think it is nesseary to change the code:
if scheme == "wss" then
if not ssl_support then
return nil, "ngx_lua 0.9.11+ required for SSL sockets"
end
if client_cert then
ok, err = sock:setclientcert(client_cert, client_priv_key)
if not ok then
return nil, "failed to set TLS client certificate: " .. err
end
end
end
-- check for connections from pool:
local count, err = sock:getreusedtimes()
if not count then
return nil, "failed to get reused times: " .. err
end
if count > 0 then
-- being a reused connection (must have done handshake)
return 1
else
local ok, err = sock:sslhandshake(false, server_name, ssl_verify)
if not ok then
return nil, "ssl handshake failed: " .. err
end
end
Added: Determine if the sslhandshake is necessary by 'sock:getreusedtimes()' .It do need to call sslhandshake when the reused time of connection is zero.
- Lingua principale
- Lua
- Stelle
- 524
- Fork
- 112
- Merge medio
- 1h 20m
- PR unite (30g)
- 3
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openresty/lua-resty-websocket
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
-
websocket ratelimitingAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
bad RSV1, RSV2, or RSV3 bitsAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di openresty/lua-resty-websocket
Issue simili
-
Lightforge IngotsApertabug discord guide:06-ashenvale locale:enUS triage v0.3.4
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
doctorhetfield-cmd/simpleui.koplugin#653 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ibhagwan/fzf-lua#2853 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Balatro-Multiplayer/BalatroMultiplayerAPI#67 ·
I maintainer di solito rispondono entro 2 giorni