Failed to send https request on OTP 22.1
Closed this issue ยท 15 comments
Hackney returns {error,{option,server_only,honor_cipher_order}}
with https url, starting from OTP 22.1.
Here's a location on ssl library which causes a problem. It seems that honor_cipher_order
have not been work on client connections so they started blocking it.
https://github.com/erlang/otp/blob/bf2dfb7f51fa50d832f4dc4e4e271e7a6df93629/lib/ssl/src/ssl.erl#L1703-L1706
Commenting following line fixes the problem.
https://github.com/benoitc/hackney/blob/master/src/hackney_ssl.erl#L68
FWIW I just noticed a similar line with honor_cipher_order
was removed from hex back in January hexpm/hex@f34518e
Is there a workaround to this issue?
@ruudk, I think only workarounds are downgrade erlang or fork hackney.
or wait i merge the pr tonight.
fixed in latest master
@benoitc are you planning a release for this as well? Not too familiar with your project or release strategy, sorry if it's a silly question.
Hi, can you please increment the Hackney version so that we can pull in changes from Hex for this? Thanks
Can we get a new version cut? This is a big blocker. I appreciate it!
While waiting for a new hex release, you can point deps to the github master branch or downgrade to OTP 22.0.7. Both are perfectly viable options ;)
If anyone is having problems down the chain on Elixir and finds yourself here, here's a quick fix for now: edgurgel/httpoison#393
To fix: Put this in your
mix.exs
{:hackney, github: "benoitc/hackney", override: true}
Because nobody replied yet: Tested it and verified that it works. Thanks @benoitc โค๏ธ
If anyone is having problems down the chain on Elixir and finds yourself here, here's a quick fix for now: edgurgel/httpoison#393
To fix: Put this in your
mix.exs
{:hackney, github: "benoitc/hackney", override: true}
Worked for me, but first I had to update hex to the last version.