Apps works on deployment slot, not on production (for some browsers)

Kevin O' Farrell 1 Reputation point
2019-12-06T08:10:37.617+00:00

Have an app, running for the last year but last week started getting auth issues on production. Debugging it showed random 403 reported. We published again to a deployment slot, checked everything worked and then did a swap. No success.

What works (on production)

  • Chrome/Safari/Edge on desktop

What fails (on production)

  • Firefox and Chrome/Android

Everything works on deployment slot and the slot is cloned from production. So apart from remapping the IP address, does anyone know what else swap slots does that might cause this?

PS. It's an MVC.net with a forms authentication cookie.

banginheadofftablerepeatedly

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
7,931 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Kevin O' Farrell 1 Reputation point
    2019-12-06T09:01:11.757+00:00

    Ok. We have sorted it out but thought I'd bring the answer back here so others can learn. And it's a weird one.

    We spotted a 404 error on a favicon. Not a big deal as this shouldn't cause any problems and after all, it works local and on deployment slot. Well it looks like this simple 404 get's returned a 403 and that causes our problem.

    We removed the following from the _layout.cshtml and pushed to the production server (just this one file) and everything is working again. It no longer gets the 404 and the 403 disappears. Insert the line back in and the production server craps out again.

    "< link rel="apple-touch-icon" sizes="144x144" href ="../../images/lock-144">"

    So two things we don't understand-

    1) Why would a favicon 404 cause a 403 to be reported?
    2) Why does it behave differently on production slot vs everything else?

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.