-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Add http2-host-blacklist config flag #2482
Conversation
6adcd7b
to
5da4a49
Compare
It turns out that gorequest doesn't use http/2 if you set TLSClientConfig or anything else which effects the transport (parnurzeal/gorequest#124, golang/go#17051). The solution is supposed to be calling http2.ConfigureTransport to mutate it after construction. If I don't do that, the connection is http/1.1. But if I do, the response is a 404, I assume due to hitting the default back end, though I don't know why. e: My mistake, I was just mixing up test results. So my real problem is the blacklist not actually removing |
bd96f59
to
3f27a38
Compare
Weird. Adding a host to the blacklist definitely removes |
Codecov Report
@@ Coverage Diff @@
## master #2482 +/- ##
==========================================
+ Coverage 41.6% 41.64% +0.03%
==========================================
Files 74 74
Lines 5290 5302 +12
==========================================
+ Hits 2201 2208 +7
- Misses 2792 2797 +5
Partials 297 297
Continue to review full report at Codecov.
|
3f27a38
to
34f7a8f
Compare
|
ff21dfc
to
968a91a
Compare
@nicknovitski please rebase |
968a91a
to
c1b9add
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nicknovitski If they are not already assigned, you can assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
31eb297
to
cc25d49
Compare
We really need this, is there anything blocking it we can help with? |
Just rebase and that passing CI |
Just un case current master uses nginx 1.15.3 that solves some issues with this and old clients |
excellent, I'll see if we can test it out, we're currently running an nginx-ingress fork of 0.9 and I really don't want to try to maintain it! |
@blakebarnett I am preparing the PR for 0.19.0. In the PR you will find a test image you can test |
cc25d49
to
6bc3898
Compare
I'll try out 0.19 and see if it fixes our problem. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Was there any progress on that after it lost track? |
As I understand it the nginx bug was fixed. |
What this PR does / why we need it:
A server block is created in nginx.conf for each host in ingresses. Currently, the IC can enable or disable http2 for all server blocks. With this flag, it becomes possible to selectively disable it per host/server.
NGINX v1.13.6 and later send resize notifications for HPACK header compression tables, which breaks a lot of our android traffic. All of this traffic goes to one host, so this feature will let us enable http2 for the majority of our traffic.
Which issue this PR fixes: fixes #2189
Special notes for your reviewer:
I wasn't able to get the e2e tests running on minikube 0.26.1. I couldn't figure out how to get them to work with RBAC, or how to create a cluster without RBAC (kubernetes/minikube#2342). That was a real pain. I'll just use travis for now, but I think the tests should work with RBAC as a default.