Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default Envoy config no longer works #17105

Closed
phlax opened this issue Jun 23, 2021 · 8 comments · Fixed by #17070
Closed

Default Envoy config no longer works #17105

phlax opened this issue Jun 23, 2021 · 8 comments · Fixed by #17070

Comments

@phlax
Copy link
Member

phlax commented Jun 23, 2021

description

sometime ago we switched the default Envoy config (eg included in the docker images) from pointing to google.com -> www.envoyproxy.io

there were a couple of reasons for shifting - one was that the google example stopped working (due to CSP i think) - where you request an http page that proxies to an https page

at the time proxying to the www.envoyproxy.io domain worked fine

in recent tests i noticed that this is no longer the case - or at least more often than not it doesnt work - sometimes it does work

basically when you request over http you get a proxied response to 301 redirect to https

im not sure if something has changed in the website handling of headers, or whether the headers that envoy sends has changed - but either way it no longer works - wierdly it occasionally does work

this can be tested as follows

$ docker run -p 10000:10000 -d --rm envoyproxy/envoy-dev:latest 
bb9028e3a5f85637e6cece640a7caab456987ac5d99279277c932258eb2d4290
$ curl http://localhost:10000
Redirecting to https://www.envoyproxy.io/
$ docker kill bb902

relevant config is here https://github.com/envoyproxy/envoy/blob/main/configs/envoyproxy_io_proxy.yaml

@phlax
Copy link
Member Author

phlax commented Jun 23, 2021

cc @alyssawilk @mattklein123

@alyssawilk
Copy link
Contributor

huh. think we should just switch back to google? I'm not sure what prompted the change but we have to use google for the equivalent HTTP/3 config (since envoyproxy doesn't have that turned up) so it'd both work and be consistent

@phlax
Copy link
Member Author

phlax commented Jun 23, 2021

think we should just switch back to google?

preferably not - apart from anything else it would be good to know why it doesnt work

I'm not sure what prompted the change

2 reasons iirc

  • making things less vendor specific - ie less lyft/google etc
  • it no longer worked - or at least the initial request worked - but you got a big borked overlay and streaming errors in browser console

but we have to use google for the equivalent HTTP/3 config

hmm - i guess in that case its necessary - but in a way it would be good if we could point it to a neutral reference server

@phlax
Copy link
Member Author

phlax commented Jun 23, 2021

...to a neutral reference server

or maybe a smiley welcome page on something like http3.envoyproxy.io that was http3 enabled

@phlax
Copy link
Member Author

phlax commented Jun 23, 2021

cloudflare has quic/http3 support https://blog.cloudflare.com/http3-the-past-present-and-future/ so we could do it with that

@phlax
Copy link
Member Author

phlax commented Jun 23, 2021

checking this further...

there is an http3 downstream - which proxies to envoy - which i struggled to get working - but even if i had i guess it will hit the same issue raised here

there is an http3 upstream - which works (doesnt even bork wierdly) proxying via http3

as an aside it would be v good to get some http3 sandboxes set up

im gonna mark this high priority - because the docs and docker image are kinda broken - and its a blocker for building system packages #16899

@phlax
Copy link
Member Author

phlax commented Jun 25, 2021

before we fix this @alyssawilk it would be good to add xfailing test/s

#17145 is related but i think possibly we just want to test all of the configs in the /configs dir to ensure they work as expected

ill do some testing and try and figure out a way forward

@phlax
Copy link
Member Author

phlax commented Jul 7, 2021

im not sure if this has been fixed, or if something changed upstream - it was always a flake in the sense that sometimes it worked and sometimes not - but my understanding was that it wouldnt be fixed until #17070 landed

i have tested the default config again with the current envoyproxy/envoy-dev:latest image and now it never fails

alyssawilk added a commit that referenced this issue Jul 7, 2021
Adding the option to override scheme
Risk Level: low (config guarded code)
Testing: unit testing
Docs Changes: n/a
Release Notes: inline
Part of #14587
Fixes #17105

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
leyao-daily pushed a commit to leyao-daily/envoy that referenced this issue Sep 30, 2021
Adding the option to override scheme
Risk Level: low (config guarded code)
Testing: unit testing
Docs Changes: n/a
Release Notes: inline
Part of envoyproxy#14587
Fixes envoyproxy#17105

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants