Current requirements/limitations for enabling zone redundancy:
Zone Redundant App Service errors and solutions for different scenarios:
Scenario 1
Symptom: Web sockets error when accessing an App service web app in an app service plan which has enabled Zone Redundancy.
Error: Failed to start the transport 'WebSockets': Error: There was an error with the transport.
Root Cause: This issue happened when these 3 conditions are met.
- Zone Redundancy enabled.
- Web Sockets set to on (in App service Settings -> Configuration -> General Settings)
- ARR affinity set to off (in App service Settings -> Configuration -> General Settings)
Solution: Enable ARR affinity for the app service
Scenario 2
Symptom: Failed to scale down a Linux App service plan --e.g. from P1V3 to P1V2, it failed with message ---You cannot change the OS hosting your app at this time. Please recreate your app with the desired OS
Network trace shows--- http 400 bad request error when sending the PUT request to https://management.azure.com/
Root Cause: App Service Plan with fewer than 3 workers are not allowed for zone redundancy. Requested number of workers: 2
App service plan has Zone redundancy enabled with autoscale configured with an Auto Scale out rule, setting the minimum and default instance count to be less than 3.
Solution: Update minimum worker rule in Auto Scale to 3 or use Manual Scale