write EPROTO: SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure when visiting https site
See original GitHub issueI’m on OS X and I’ve trusted my self signed cert in keychain. Chrome lets me into the site with no warnings or indication that I’m using a self-signed cert. However, when I try to cy.visit
I get the following error in the cypress UI:
CypressError: cy.visit() failed trying to load:
https://local.avoxi.com/
We attempted to make an http request to this URL but the request failed without a response.
We received this error at the network level:
> Error: write EPROTO 4777985472:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:
Common situations why this would fail:
- you don't have internet access
- you forgot to run / boot your web server
- your web server isn't accessible
- you have weird network configuration settings on your computer
The stack trace for this error is:
Error: write EPROTO 4777985472:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:
at _errnoException (util.js:1024:11)
at WriteWrap.afterWrite (net.js:867:14)
Because this error occurred during a 'before each' hook we are skipping the remaining tests in the current suite: 'Smoke Test'
The issue is new to 3.3.x. This test ran correctly in 3.2.x.
Here’s the debug log:
cypress:server:timers clearing timer id 31 from queue { '31': { args: [], ms: 85000, cb: [Function] }, '32': { args: [], ms: 85000, cb: [Function] } } +8s
cypress:server:timers queuing timer id 34 after 85000 ms +1ms
cypress:server:events sending ipc data { type: 'on:spec:changed', data: { id: 0.7674737586596712, data: 'integration/smokeTest_spec.js' } } +7s
cypress:server:timers child received timer id 34 +6s
cypress:server:timers clearing timer id 34 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '34': { args: [], ms: 85000, cb: [Function] } } +16ms
cypress:server:timers queuing timer id 35 after 85000 ms +0ms
cypress:server:socket watch test file 'integration/smokeTest_spec.js' +8s
cypress:server:timers child received timer id 35 +16ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:54628', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:54629' } +4s
GET /__cypress/iframes/integration/smokeTest_spec.js 200 5.775 ms - 730
cypress:server:controllers:spec request for { spec: 'cypress/support/index.js' } +8s
cypress:server:preprocessor getFile /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +9s
cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +9s
cypress:server:plugins execute plugin event 'file:preprocessor' with args: EventEmitter { domain: null, _events: { rerun: [Function], close: [Function] }, _eventsCount: 2, _maxListeners: undefined, filePath: '/Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js', shouldWatch: true, outputPath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/support/index.js' } undefined undefined +0ms
cypress:browserify get: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +8s
cypress:browserify already have bundle for: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +0ms
cypress:server:controllers:spec sending spec { filePath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/support/index.js' } +2ms
cypress:server:controllers:spec request for { spec: 'cypress/integration/smokeTest_spec.js' } +1ms
cypress:server:preprocessor getFile /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +2ms
cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +2ms
cypress:server:plugins execute plugin event 'file:preprocessor' with args: EventEmitter { domain: null, _events: { rerun: [Function], close: [Function] }, _eventsCount: 2, _maxListeners: undefined, filePath: '/Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js', shouldWatch: true, outputPath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/integration/smokeTest_spec.js' } undefined undefined +0ms
cypress:browserify get: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +3ms
cypress:browserify already have bundle for: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +0ms
cypress:server:controllers:spec sending spec { filePath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/integration/smokeTest_spec.js' } +1ms
GET /__cypress/tests?p=cypress/support/index.js-355 200 4.206 ms - -
GET /__cypress/tests?p=cypress/integration/smokeTest_spec.js-909 200 2.427 ms - -
cypress:server:timers clearing timer id 35 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '35': { args: [], ms: 85000, cb: [Function] } } +26ms
cypress:server:timers queuing timer id 36 after 85000 ms +1ms
cypress:server:timers child received timer id 36 +27ms
cypress:server:timers clearing timer id 36 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '36': { args: [], ms: 85000, cb: [Function] } } +12ms
cypress:server:timers queuing timer id 37 after 85000 ms +0ms
cypress:server:socket automation:request get:cookies { domain: 'localhost' } +39ms
cypress:server:timers child received timer id 37 +12ms
cypress:server:cookies getting:cookies { domain: 'localhost' } +8s
cypress:server:timers clearing timer id 32 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '37': { args: [], ms: 85000, cb: [Function] } } +3ms
cypress:server:timers queuing timer id 38 after 85000 ms +0ms
cypress:server:timers child received timer id 38 +3ms
cypress:server:cookies received get:cookies [] +3ms
cypress:server:timers clearing timer id 38 from queue { '37': { args: [], ms: 85000, cb: [Function] }, '38': { args: [], ms: 85000, cb: [Function] } } +8ms
cypress:server:timers queuing timer id 39 after 85000 ms +1ms
cypress:server:timers child received timer id 39 +9ms
cypress:server:timers clearing timer id 37 from queue { '37': { args: [], ms: 85000, cb: [Function] }, '39': { args: [], ms: 85000, cb: [Function] } } +4ms
cypress:server:timers queuing timer id 40 after 85000 ms +0ms
cypress:server:timers child received timer id 40 +4ms
cypress:server:socket backend:request { eventName: 'resolve:url', args: [ 'https://local.avoxi.com/', { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: {}, timeout: 30000 } ] } +16ms
cypress:server:server resolving visit { url: 'https://local.avoxi.com/', headers: { host: 'localhost:54628', connection: 'Upgrade', pragma: 'no-cache', 'cache-control': 'no-cache', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36', upgrade: 'websocket', origin: 'http://localhost:54628', 'sec-websocket-version': '13', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'sec-websocket-key': 'YFL2TN8ze8mLM11wCa6JNA==', 'sec-websocket-extensions': 'permessage-deflate; client_max_window_bits' }, options: { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: {}, timeout: 30000 } } +52ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:54628', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:54629' } +0ms
cypress:server:server sending request with options { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase], followRedirect: [Function: followRedirect] } +0ms
cypress:server:cookies getting:cookies { url: 'https://local.avoxi.com/' } +15ms
cypress:server:timers clearing timer id 39 from queue { '39': { args: [], ms: 85000, cb: [Function] }, '40': { args: [], ms: 85000, cb: [Function] } } +4ms
cypress:server:timers queuing timer id 41 after 85000 ms +1ms
cypress:server:timers child received timer id 41 +5ms
cypress:server:cookies received get:cookies [ { name: '_ga', value: 'GA1.2.1325448659.1559740807', path: '/', domain: '.avoxi.com', secure: false, httpOnly: false, hostOnly: false, expiry: 1622824507 }, { name: '_gid', value: 'GA1.2.1673151547.1559740807', path: '/', domain: '.avoxi.com', secure: false, httpOnly: false, hostOnly: false, expiry: 1559838907 }, { name: 'SnapABugRef', value: 'https%3A%2F%2Flocal.avoxi.com%2F%20', path: '/', domain: 'local.avoxi.com', secure: false, httpOnly: false, hostOnly: true, expiry: 1559759707 }, { name: 'SnapABugHistory', value: '2#', path: '/', domain: 'local.avoxi.com', secure: false, httpOnly: false, hostOnly: true, expiry: 1591288507 } ] +3ms
cypress:server:request sending request as stream { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase] } +4s
cypress:network:agent addRequest called for https://local.avoxi.com/ +4s
cypress:server:timers queuing timer id 42 after 30000 ms +4ms
cypress:server:timers child received timer id 42 +5ms
cypress:server:timers clearing timer id 42 from queue { '40': { args: [], ms: 85000, cb: [Function] }, '41': { args: [], ms: 85000, cb: [Function] }, '42': { args: [], ms: 30000, cb: [Function] } } +1ms
cypress:server:request received an error making http request { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase], requestId: 'request6', retryIntervals: [ 0, 1000, 2000, 2000 ], delaysRemaining: [ 0, 1000, 2000, 2000 ], err: { Error: write EPROTO 4474762688:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802: at _errnoException (util.js:1024:11) at WriteWrap.afterWrite (net.js:867:14) code: 'EPROTO', errno: 'EPROTO', syscall: 'write' } } +6ms
_Originally posted by @PWAlessi in https://github.com/cypress-io/cypress/issues/771#issuecomment-499159715_
Issue Analytics
- State:
- Created 4 years ago
- Comments:18 (5 by maintainers)
Top Results From Across the Web
How to Fix “SSL Handshake Failed” & "Cloudflare 525" Error
The SSL Handshake Failed error occurs when the server and browser are unable to establish a secure connection.
Read more >wget ssl alert handshake failure - Stack Overflow
It works from here with same OpenSSL version, but a newer version of wget (1.15). Looking at the Changelog there is the following ......
Read more >Handshake failure when code is uploaded with Build-Suite
Summary Customers may experience SSL Handshake failures when they upload the code using the Build-Suite · Repro 1) Download Build-Suite from ...
Read more >How to Fix the "SSL Handshake Failed" Error - Elegant Themes
The "SSL handshake failed" error can be caused by both client and server-side issues. Let's find out what they are and how to...
Read more >Rehash: How to Fix the SSL/TLS Handshake Failed Error
The TLS Handshake Failed error can originate from the client or the server, here's a guide for fixing the problem for both users...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
thaaaaaaaaaaaaaaaaanks a lot 😃 👍
If you have come here from Google because you’ve upgraded Cypress and have an Error:
Then rollback to version 3.2.0 and lock it down until the Cypress team sort the problem out.