akka/akka-http

Special handling of Expect: 100-Continue may not be appropriate in a proxy

开放

#514 创建于 2016年11月11日

 (10 条评论) (0 个反应) (0 位负责人)Scala (598 个派生)batch import
1 - triagedhelp wanted

仓库指标

星标
 (1,311 个星标)
PR 合并指标
 (平均合并 1天 10小时) (30 天内合并 2 个 PR)

描述

I'm using Akka HTTP (3.0.0-RC1) to create a reverse-http-proxy. The special handling of Expect: 100-Continue looks like it's causing weirdness in this case. In wireshark, here's what I see:

Proxy  -> RSP: 100 Continue -> Client
Client -> REQ -> Proxy
Server -> RSP: 100 Continue -> Proxy
Proxy  -> REQ -> Server
Server -> 200 -> Proxy
Proxy  -> 200 -> Client

In the production logs (not in an attempt at a clean room reproduction) we see a number of these messages:

Sending an 2xx 'early' response before end of request was received...

It's not 100% clear that these are related to the special handling of 100, but they do seem to coincide a lot. It feels like the special handling should be avoided when akka-http is operating as a proxy, leaving the handling logic up to the server to which we're proxying.

贡献者指南