You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I'm using K6 to run some load tests on our server, but every request return error: stream error: stream ID x: HTTP_1_1_REQUIRED
Our server is IIS and our test options are: export let options = { maxRedirects: 0, vus: 1, insecureSkipTLSVerify: true, duration: '2m' };
When protocol of our website is HTTP, everything works fine but with HTTPS this error will happen.
Could anyone help us with this error?
Thank you in advance for your help.
The text was updated successfully, but these errors were encountered:
This looks like the server told k6 that it should be using HTTP1.1 after they negotiated HTTP2. So using http:// instead of https:// just never gets to negotiating HTTP2 as it's only done if the connection is secured, which is why it works.
Looking at this issue from another project and other threads on the internet, this seems like a combination of ISS and NTLM or ISS and client certificates the later of which we have even worse support than the former, so I suspect you use NTLM?
Unfortunately, the solutions for this are:
k6 redoing the request with http1.1 automatically, which while probably okayish for some other application seems bad for a load testing tool.
k6 being told somehow (hopefully per request) that it should not use http2 at all which is Any way to force to use HTTP/1.1 protocol #936, which unfortunately also hasn't been picked up, and if I remember correctly wasn't decided how exactly will be done, and will probably need to wait for the new HTTP API.
Maybe a special case for NTLM(in case that is your problem), again I don't remember what the actually required changes are, so that might be a lot harder than "just an if somewhere".
Alternatively, you can configure ISS to just not do HTTP2 if then it can't be used. I don't know if you can only do it for the cases where you can't use it, so yeah - you need to check that yourself.
Also if you are not going to be using HTTP2 because your application doesn't support it, https vs http will likely be very similar unless the crypto required for the securing is the majority of your time, so you can just as well just change the protocol to http for the calls that require HTTP 1.1 and get pretty similar to the https numbers.
Hi,
I'm using K6 to run some load tests on our server, but every request return error:
stream error: stream ID x: HTTP_1_1_REQUIRED
Our server is IIS and our test options are:
export let options = { maxRedirects: 0, vus: 1, insecureSkipTLSVerify: true, duration: '2m' };
When protocol of our website is HTTP, everything works fine but with HTTPS this error will happen.
Could anyone help us with this error?
Thank you in advance for your help.
The text was updated successfully, but these errors were encountered: