Skip to content

Azure Front Door - Origin Header - Case Sensitivity  #1082

Closed
@kek-Sec

Description

@kek-Sec

Report

When the origin-header is for example: foo.Bar.com , instead of foo.bar.com in Azure Front Door (probably any other CDN aswell) you get the following exception:

2024-07-04T08:54:28Z    ERROR   LoggingMiddleware.RoutingMiddleware.StaticHandler       Not Found       {"routingKey": "//foo.Bar.com", "namespacedNameError": "PANIC=value method k8s.io/apimachinery/pkg/types.NamespacedName.MarshalLog called using nil *NamespacedName pointer", "stream": "<nil>"}
github.com/kedacore/http-add-on/interceptor/handler.(*Static).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/handler/static.go:36
github.com/kedacore/http-add-on/interceptor/middleware.(*Routing).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/routing.go:49
github.com/kedacore/http-add-on/interceptor/middleware.(*Logging).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/logging.go:42
github.com/kedacore/http-add-on/interceptor/middleware.(*Metrics).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/metrics.go:24
net/http.serverHandler.ServeHTTP
        net/http/server.go:3137
net/http.(*conn).serve
        net/http/server.go:2039

Expected Behavior

Request should be routed in a case insensitive way since domains are not case sensitive

Actual Behavior

Request route is case sensitive

Steps to Reproduce the Problem

  1. Create an nginx ingress with httpscaleobject for foo.bar.com
  2. Attempt to access the domain via foo.Bar.com (or set origin headers to foo.Bar.com)
  3. 404 not found with error in proxy

Logs from KEDA HTTP operator

2024-07-04T08:32:31Z    ERROR   LoggingMiddleware.RoutingMiddleware.StaticHandler       Not Found       {"routingKey": "//foo.Bar.com/health/", "namespacedNameError": "PANIC=value method k8s.io/apimachinery/pkg/types.NamespacedName.MarshalLog called using nil *NamespacedName pointer", "stream": "<nil>"}
github.com/kedacore/http-add-on/interceptor/handler.(*Static).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/handler/static.go:36
github.com/kedacore/http-add-on/interceptor/middleware.(*Routing).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/routing.go:49
github.com/kedacore/http-add-on/interceptor/middleware.(*Logging).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/logging.go:42
github.com/kedacore/http-add-on/interceptor/middleware.(*Metrics).ServeHTTP
        github.com/kedacore/http-add-on/interceptor/middleware/metrics.go:24
net/http.serverHandler.ServeHTTP
        net/http/server.go:3137
net/http.(*conn).serve
        net/http/server.go:2039

HTTP Add-on Version

0.8.0

Kubernetes Version

1.29

Platform

Microsoft Azure

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions