Am nginx (1.21.6) care rulează cu openssl 1.1.1n pe un server Debian 11.
Deși am urmat multe tutoriale și m-am uitat la mai multe întrebări pe acest forum despre acest subiect, nu pot face ca TLS 1.3 să funcționeze.
Ieșirea de nginx -V
:
Versiunea nginx: nginx/1.21.6
construit de gcc 10.2.1 20210110 (Debian 10.2.1-6)
construit cu OpenSSL 1.1.1k 25 martie 2021 (rulează cu OpenSSL 1.1.1n 15 martie 2022)
Activare suport TLS SNI
Am actualizat nginx la versiunea principală, deoarece nu am reușit să fac funcționarea TLS 1.3 și în versiunile anterioare. Este foarte ciudat...
Openssl acceptă cu siguranță TLS 1.3. L-am testat prin intermediul openssl s_client -tls1_3 -connect www.cloudflare.com:443
care a funcționat bine.
Aici al meu ssl.conf
fișierul nginx pe care l-am inclus în fiecare dintre serverele mele nginx (certificatele sunt incluse separat în secțiunile de server):
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m; # aproximativ 40000 de sesiuni
ssl_session_tickets off;
ssl_capsare activată;
#ssl_trusted_certificate /pfad/bundle.ca.pem;
ssl_stapling_verify on;
ssl_dhparam /etc/nginx/dhparams.pem;
ssl_ecdh_curve X448:secp521r1:secp384r1;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS-CHACHA20-POLY1305-SHA256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS-CHACHA20-POLY1305-SHA256-GCM-LSHA256-TLSHA256: -128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-8GCMA-SHA256: -CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers activat;
# HSTS (este necesar ngx_http_headers_module) (63072000 secunde)
add_header Strict-Transport-Security "max-age=31536000;preload;includeSubDomains" întotdeauna;
The Qualys ssltest dintre site-urile mele Totuși, nu arată că folosesc TLS 1.3 pe serverul meu. De asemenea, browserul Chrome arată că se conectează prin TLS 1.2.
Chiar dacă scot TLSv1.2
directivă de la mine ssl.conf
și plecând numai TLSv1.3
, se conectează încă prin TLS 1.2.
Nu există altundeva a ssl_protocols
directivă în orice alt fișier de configurare al nginx. Am verificat asta prin nginx -T
.
chiar raman fara idei.....
Ma poate ajuta cineva?
EDITAȚI | ×:
Cumva, nginx nu pare să reacționeze la ssl_protocols
si ssl_ecdh_curve
directivă în mod corespunzător. De exemplu, când șterg ssl_ciphers
din configurația mea (după cum a sugerat @drookie în comentariul său), TLS 1.0 și TLS 1.1 par să fie acceptate de serverul meu, deși am setat ssl_protocols TLSv1.3 TLSv1.2;
. În mod similar, conform Qualys ssltest, secp256r1
este suportat, deși nu am această curbă în configurația mea de ssl_ecdh_curve
(nici prime256v1
). Mi se pare că ceva îmi suprascrie setările în ssl.conf
fişier.
Folosesc acme.sh pentru a-mi obține certificatele.
grep -R 'ssl_protocol' /etc/*
dă doar linia înăuntru ssl.conf
cu ssl_protocols TLSv1.3 TLSv1.2;
.
Nu am idee ce ar putea cauza interferența/suprascrierea...