ERR_SSL_PROTOCOL_ERROR tylko dla niektórych użytkowników (nodejs, express)

głosy
2

Tylko niektórzy (nie wszyscy) użytkownicy otrzymują w Chrome ERR_SSL_PROTOCOL_ERROR przy próbie odwiedzenia mojej strony ekspresowej. Nie otrzymuję tego błędu, więc debugowanie jest bolesne

Tworzę serwer https przy użyciu pliku PFX pobranego od mojego dostawcy (1&1):

var options = {
  pfx: fs.readFileSync('./mysite_private_key.pfx'),
  passphrase: 'MYPASSPHRASE',
};
https.createServer(options, app).listen(443); 

https://whatsmychaincert.com mówi mi, że łańcuch jest poprawny, ale narzeka na uścisk dłoni:

[mysite] ma prawidłowy łańcuch.

[moja witryna] Błąd TLS-handshake: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert błąd wewnętrzny SSL Labs może być w stanie powiedzieć ci, co poszło nie tak

Sprawdziłem to bez powodzenia, czy ktoś wie, w czym może tkwić problem? Ty.

Utwórz 26/05/2020 o 13:46
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
0

Możliwym źródłem nieudanego uścisku dłoni może być brak pośredniego certyfikatu, caopcja tls.createSecureContext. Powinno to być publiczne na stronie internetowej twojego dostawcy.

Mam nadzieję, że to pomoże.

Odpowiedział 07/06/2020 o 01:10
źródło użytkownik

głosy
0

obecnie, kiedy nasz serwer (np. 1&1) jest bezpiecznie skonfigurowany, tylko tls v1.2 i tls v1.3 są obsługiwane ...

więc jak to debugować:

  • zeskanuj swoją witrynę za pomocą testu SSL Labs Sprawdź również, które szyfry są obsługiwane, lub zobacz w naszej konfiguracji nginx/apache

  • tail -f logi serwera , zwłaszcza pliki logów catchall/inne_vhosts , ponieważ błędy protokołu ssl mogą być w logach strony i ogólny log catchall , gdy serwer nie może zdecydować o nazwie

  • spróbuj zaktualizować użytkowników chrome, aby obsługiwali co najmniej tls 1.2

    chrome ma przełączniki linii poleceń, aby zmienić swoje zachowanie szyfrów:

    • --ssl-version-max Określa maksymalną wersję SSL/TLS ("tls1.2" lub "tls1.3"). ↪
    • --ssl-version-min Określa minimalną wersję SSL/TLS ("tls1", "tls1.1", "tls1.2" lub "tls1.3"). ↪

STREFA NIEBEZPIECZEŃSTWA:

  • w ostateczności możesz spróbować zaakceptować stare szyfry w twoim nginx-config (ssl_ciphersdyrektywa), takie jak socat OR (bardzo last resort) socat23 , aby sprawdzić, która wersja jest obsługiwana przez twoich klientów,

pamiętaj, aby wyłączyć wszystko poniżej tls v1. 2 w produkcji Środowisko

Odpowiedział 07/06/2020 o 15:57
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more