Skip to content

v0.13.147

Choose a tag to compare

@zalando-robot zalando-robot released this 30 Nov 11:34
8b6e0af

Changes

Adds incoming request host normalization (#1911)
Incoming request Host header may contain port number, a trailing dot or
have an uppercase value which are all valid according to various RFCs but are not common.
AWS Application Load Balancer (ALB) removes port number, trailing dot and
converts Host header to lower case so uncommon cases are never observed
by Skipper behind ALB.
AWS Network Load Balancer (NLB) passes Host header as is.
Several changes were introduced to account for uncommon port number and traling dot:
match optional port and trailing dot by #1281 and #1863
Matching optional port and trailing dot makes Host regexp more complex and
adds a small performance penalty for the uncommon case.
Uppercase Host values are not supported at all.
This change introduces host normalization step that converts incoming request host
to lowercase and removes port and trailing dot if any before routing,
enabled by the new -normalize-host or by -kubernetes flags.
It allows Host regexp simplification and use of a prospective predicate that
compares strings instead of using regexp (see #386).
Updates #1281, #1863, #1864, #386

Docker image

Docker image is available in Zalando's Open Source registry:

docker run -it registry.opensource.zalan.do/teapot/skipper:v0.13.147 skipper --help
# arm64
docker run -it registry.opensource.zalan.do/teapot/skipper-arm64:v0.13.147 skipper --help
# arm v7 32bit
docker run -it registry.opensource.zalan.do/teapot/skipper-armv7:v0.13.147 skipper --help