<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm" -->

---
title: Tweaking Windows Azure Web Sites | daily.dev
description: A deep dive into undocumented configuration internals of Windows Azure Web Sites, discovered by inspecting the IIS applicationhost.config and rootweb.config...
canonical: https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Tweaking Windows Azure Web Sites | daily.dev
og:description: A deep dive into undocumented configuration internals of Windows Azure Web Sites, discovered by inspecting the IIS applicationhost.config and rootweb.config...
og:url: https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm
og:image: https://api.daily.dev/og/posts/ZoJLeuCCm.png
og:image:alt: Tweaking Windows Azure Web Sites
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tweaking Windows Azure Web Sites

**[Maarten Balliauw](https://daily.dev/sources/maartenballiauw)** · 4 min read · 0 upvotes · 0 comments

## Summary

A deep dive into undocumented configuration internals of Windows Azure Web Sites, discovered by inspecting the IIS applicationhost.config and rootweb.config files exposed via environment variables. The post lists which system.webServer configuration sections can be overridden in a site's own Web.config, reveals that the open-source Project Kudu engine powers deployment (git push, webdeploy) and runs in the same sandbox as the user's site sharing its resource quota, and shows a Web.config snippet that re-maps the PHP FastCGI handler to support additional HTTP verbs (like PROPFIND, MKCOL, LOCK) needed to run a WebDAV server such as SabreDAV on PHP.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.maartenballiauw.be/posts/2012-07-09-tweaking-windows-azure-web-sites>

## Questions this post answers

### How do I get a PHP-based WebDAV server like SabreDAV to work on Windows Azure Web Sites?

Override the PHP FastCGI handler in your Web.config to accept WebDAV HTTP verbs. Remove the default PHP53_via_FastCGI handler and re-add it with a verb list including GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK, since Azure's default IIS mapping only allows standard HTTP verbs and blocks WebDAV-specific ones.

_daily.dev surfaces practical IIS and PHP hosting fixes like this for developers wiring up WebDAV on Azure._

### Which IIS configuration sections can I override in my own Web.config on Windows Azure Web Sites?

Sections including system.webServer.caching, defaultDocument, directoryBrowse, httpErrors, httpProtocol, httpRedirect, security.authorization, security.requestFiltering, staticContent, tracing.traceFailedRequests, urlCompression, validation, and the URL rewrite rules, providers, and rewriteMaps can all be overridden. Handlers and modules can also be overridden, though some entries are locked; all other sections are probably not overridable, based on inspection of the applicationhost.config file exposed via an environment variable.

_Developers tuning Azure Web Sites hosting limits can find configuration deep-dives like this on daily.dev._

### What is Project Kudu and how does it relate to Windows Azure Web Sites deployment?

Project Kudu is the open-source engine behind Windows Azure Web Sites that powers git push and web deploy functionality. It runs as a companion site named with a tilde prefix (e.g. ~1yoursitename) in the applicationhost.config, executing in the same sandbox as the user's own site and sharing that site's CPU, RAM, and disk quota, which keeps its security model simple.

_daily.dev helps developers evaluating Azure deployment internals like Kudu stay informed on hosting architecture._

## Similar posts on daily.dev

- ["We Store Secrets in appsettings.json": A Horror Story in Five Acts — Daily DevOps & .NET](https://daily.dev/posts/we-store-secrets-in-appsettings-json-a-horror-story-in-five-acts-daily-devops-net-us10y5dmd) · We Are .NET · 1 upvotes · 0 comments
- [Running a production-like local environment with Aspire](https://daily.dev/posts/running-a-production-like-local-environment-with-aspire-7qzdip0aa) · Tim Deschryver · 0 upvotes · 0 comments
- [Coding Azure 23: Reading Settings from App Configuration](https://daily.dev/posts/coding-azure-23-reading-settings-from-app-configuration-4d6bh4snq) · Telerik · 2 upvotes · 0 comments

---

Tags: [#php](https://daily.dev/tags/php), [#.net](https://daily.dev/tags/.net)

[View this post on daily.dev](https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Tweaking Windows Azure Web Sites","url":"https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm"},"datePublished":"2026-10-04T13:05:22.443Z","dateModified":"2026-10-04T13:09:24.287Z","description":"A deep dive into undocumented configuration internals of Windows Azure Web Sites, discovered by inspecting the IIS applicationhost.config and rootweb.config...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/efa2244acaa020799b4c07727ce8ece6?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/efa2244acaa020799b4c07727ce8ece6?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Maarten Balliauw","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Maarten Balliauw","logo":"https://media.daily.dev/image/upload/s--rOTg3VYO--/f_auto,q_auto/v1791119043/logos/maartenballiauw?_a=BAMAMicg0","url":"https://daily.dev/sources/maartenballiauw"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"php,.net","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Maarten Balliauw","item":"https://daily.dev/sources/maartenballiauw"},{"@type":"ListItem","position":3,"name":"Tweaking Windows Azure Web Sites"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/tweaking-windows-azure-web-sites-zojleuccm#faq","mainEntity":[{"@type":"Question","name":"How do I get a PHP-based WebDAV server like SabreDAV to work on Windows Azure Web Sites?","acceptedAnswer":{"@type":"Answer","text":"Override the PHP FastCGI handler in your Web.config to accept WebDAV HTTP verbs. Remove the default PHP53_via_FastCGI handler and re-add it with a verb list including GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK, since Azure's default IIS mapping only allows standard HTTP verbs and blocks WebDAV-specific ones. daily.dev surfaces practical IIS and PHP hosting fixes like this for developers wiring up WebDAV on Azure."}},{"@type":"Question","name":"Which IIS configuration sections can I override in my own Web.config on Windows Azure Web Sites?","acceptedAnswer":{"@type":"Answer","text":"Sections including system.webServer.caching, defaultDocument, directoryBrowse, httpErrors, httpProtocol, httpRedirect, security.authorization, security.requestFiltering, staticContent, tracing.traceFailedRequests, urlCompression, validation, and the URL rewrite rules, providers, and rewriteMaps can all be overridden. Handlers and modules can also be overridden, though some entries are locked; all other sections are probably not overridable, based on inspection of the applicationhost.config file exposed via an environment variable. Developers tuning Azure Web Sites hosting limits can find configuration deep-dives like this on daily.dev."}},{"@type":"Question","name":"What is Project Kudu and how does it relate to Windows Azure Web Sites deployment?","acceptedAnswer":{"@type":"Answer","text":"Project Kudu is the open-source engine behind Windows Azure Web Sites that powers git push and web deploy functionality. It runs as a companion site named with a tilde prefix (e.g. ~1yoursitename) in the applicationhost.config, executing in the same sandbox as the user's own site and sharing that site's CPU, RAM, and disk quota, which keeps its security model simple. daily.dev helps developers evaluating Azure deployment internals like Kudu stay informed on hosting architecture."}}]}
```

