Azure frontdoor: The request URI is invalid

Viewed 2343

I am trying to use azure frontdoor to access a nginx running in a kubernetes cluster.

I can reach the nginx instance on the public IP, but when trying trough azure front door i get a "The request URI is invalid" error.

enter image description here

The health probes also seem to be failing, even though i did not change any settings and can access nginx via the public IP.

Looking at the time where the backend is availible, i don't see any request to the backend:
enter image description here

I have setup my forwarding rules like this: enter image description here

EDIT:

It seems that i get a different error message when visiting www.1234h.azurefd.net as opposed to 1234h.azurefd.net (no www).

no www gives a "The request URI is invalid" while the one with www gives "Our services aren't available right now".

2 Answers

I guess this was an issue in azure.

A partial fix was:

  • wait for a couple of hours
  • Add a web app to the backend, and change routing rules
  • After about 10 minutes the http domain started working (still no https)
  • Changing the forward rule back to kubernetes (with no changes to the backend) gave http access.

I guess the steps are not needed, but the issue was resolved around the same time i did the steps.

If i get https access without changing any settings i will report back to confirm if this were a problem in azure and not with my settings.

Other symptoms that lead me to believe this was an azure issue:

  • There were a few hours were my connection attemps were not registered in the metrics
  • After the http magically worked, i see my request at the backend graph mathing the frontend requests
  • Logging does not work properly (i see "Failed to resolve table or column expression named 'AzureActivity'" even though the column are shown in the tables overview)

EDIT:
Https started working while i wrote this answer.
Again, i did not change anything.

I was getting "The request URI is invalid" only when hitting FD via HTTPS. It worked fine for HTTP.

My FD routing rule was configured as such:

enter image description here

But given that I don't care about HTTP, I just configured my app service to be "HTTPS only" and things started working:

enter image description here

Related