Howdy,

I'm currently running a group of Go web servers behind an HTTP(s) load 
balancer on Google Compute Engine.  Unfortunately I have learned that GCE 
load balancers do not support the "Expect: 100-continue" header [1].  From 
my experiments, it appears that it isn't actually the request header that 
causes the problem, but instead is the server's "100 Continue" response 
that the load balancer dies on.  Specifically, the load balancer responds 
with a 502 to the client.

Any suggestions on how to deal with this?  We don't control our clients 
(they are just "browsers across the internet") so solving things on that 
side isn't possible.  After digging through the net/http code a bit, my 
best thought is to hijack the connection, which (I think) will prevent a 
"100 Continue" status from being sent.  I'm concerned, however, that this 
won't work in all cases - for example http2 connections are not hijackable 
(https://github.com/golang/go/issues/15312).

Is there a better path forward?

Thanks,
Ian

[1] https://code.google.com/p/google-compute-engine/issues/detail?id=298   
(also see "notes and restrictions" 
here: https://cloud.google.com/compute/docs/load-balancing/http/)

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to