HTTP/1.0 shouldn't be used
Bug #1952361 reported by
Junien Fridrick
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Content Cache Charm |
In Progress
|
High
|
Haw Loeung |
Bug Description
Hi,
It would appear that nginx uses HTTP/1.0 when connecting to haproxy.
It would also appear that haproxy uses HTTP/1.0 when connecting to its non-cached backends.
HTTP/1.0 doesn't have keep-alive support, so this could be causing a lot of churns.
When I tcpdump'ed traffic from a content-cache unit to its backend, filtering only new TCP connections [1], I'm seeing a constant stream of packets, which shouldn't happen.
Thanks
[1] sudo tcpdump -n -i $int 'host $backend and tcp port 443 and tcp[tcpflags] == tcp-syn'
Related branches
~hloeung/content-cache-charm:http2
- Thomas Cuthbert (community): Approve
- Canonical IS Reviewers: Pending requested
-
Diff: 301 lines (+44/-43)9 files modifiedlib/haproxy.py (+4/-3)
tests/unit/files/content_cache_rendered_haproxy_test_output.txt (+5/-5)
tests/unit/files/content_cache_rendered_haproxy_test_output_auto_maxconns.txt (+5/-5)
tests/unit/files/content_cache_rendered_haproxy_test_output_load_balancing_algorithm.txt (+5/-5)
tests/unit/files/content_cache_rendered_haproxy_test_output_processes_and_threads.txt (+5/-5)
tests/unit/files/content_cache_rendered_haproxy_test_output_processes_and_threads_haproxy2.txt (+5/-5)
tests/unit/files/haproxy_config_rendered_backends_stanzas_test_output.txt (+5/-5)
tests/unit/files/haproxy_config_rendered_test_output.txt (+5/-5)
tests/unit/files/haproxy_config_rendered_test_output2.txt (+5/-5)
~hloeung/content-cache-charm:nginx-config
On hold
for merging
into
content-cache-charm:master
- Content Cache Charmers: Pending requested
-
Diff: 28 lines (+10/-1)1 file modifiedtemplates/nginx_cfg.tmpl (+10/-1)
~hloeung/content-cache-charm:nginx-config
- Junien Fridrick: Approve
- Canonical IS Reviewers: Pending requested
-
Diff: 406 lines (+31/-16)13 files modifiedtemplates/nginx_cfg.tmpl (+3/-2)
tests/unit/files/nginx_config_rendered_test_output-basic_site.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-reuseport.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site1.local-secrets.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site1.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site2.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site3.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site5.txt (+4/-2)
tests/unit/files/nginx_config_rendered_test_output-site6.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site7.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-site8.local.txt (+4/-2)
tests/unit/files/nginx_config_rendered_test_output-site9.local.txt (+2/-1)
tests/unit/files/nginx_config_rendered_test_output-token_site.txt (+2/-1)
~hloeung/content-cache-charm:http2
- Junien Fridrick: Approve
- Canonical IS Reviewers: Pending requested
-
Diff: 1255 lines (+187/-179)15 files modifiedlib/haproxy.py (+6/-2)
tests/unit/files/content_cache_rendered_haproxy_test_output.txt (+24/-24)
tests/unit/files/content_cache_rendered_haproxy_test_output2.txt (+2/-2)
tests/unit/files/content_cache_rendered_haproxy_test_output3.txt (+2/-2)
tests/unit/files/content_cache_rendered_haproxy_test_output_auto_maxconns.txt (+24/-24)
tests/unit/files/content_cache_rendered_haproxy_test_output_backup.txt (+3/-3)
tests/unit/files/content_cache_rendered_haproxy_test_output_load_balancing_algorithm.txt (+24/-24)
tests/unit/files/content_cache_rendered_haproxy_test_output_processes_and_threads.txt (+24/-24)
tests/unit/files/content_cache_rendered_haproxy_test_output_processes_and_threads_haproxy2.txt (+24/-24)
tests/unit/files/content_cache_rendered_haproxy_test_output_srv_template.txt (+2/-2)
tests/unit/files/haproxy_config_rendered_backends_stanzas_test_output.txt (+15/-15)
tests/unit/files/haproxy_config_rendered_backends_stanzas_test_output2.txt (+1/-1)
tests/unit/files/haproxy_config_rendered_test_output.txt (+15/-15)
tests/unit/files/haproxy_config_rendered_test_output2.txt (+15/-15)
tests/unit/test_haproxy.py (+6/-2)
Changed in content-cache-charm: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Haw Loeung (hloeung) |
Changed in content-cache-charm: | |
status: | Triaged → In Progress |
To post a comment you must log in.
tcpdump showing a constant stream of new connections could actually be explained by haproxy healthchecks, which we configure to use HTTP/1.0 for some reason. Not sure if we can/want to make them using a single, kept-alive session or not.