У меня есть приложение PHP, которое я разрабатываю на своем локальном сервере сервера Server 2008, а затем нажимаю это на свой сайт на Azure Cloud Services. Все это прекрасно работает. В одном из моих вложенных папок у меня есть web.config
файл в нем следующее:Azure Cloud Services запрещает доступ к подпапке с помощью web.config
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
</authorization>
</security>
</system.webServer>
Если я пытаюсь войти в эту папку, или просматривать любой файл в браузере на моем Dev сервере я получаю сообщение:
401 - Unauthorized: Access is denied due to invalid credentials.
это здорово! .. Если я пытаюсь идти в файл в этой папке на моем живом сайте, он отображает файл просто отлично. Он полностью игнорирует файл web.config
. Я подключился к рабочему облачному экземпляру моего живого сайта и вижу файл web.config
.
Почему это игнорируется на Azure, но отлично работает на моем сайте dev?
Если это PHP-сайт, как вы собираетесь для аутентификации пользователей для доступа к этой папке? Если вы удалите анонимный доступ, это нормально, но как вы затем предоставляете доступ? У ServerFault есть сообщение, подобное этому: http://serverfault.com/questions/72680/iis7-how-to-block-access-with-a-web-config-file –
Конечным пользователям не нужно обращаться к этому папке напрямую, нет необходимости в доступе к этой папке из Интернета. К нему обращается непосредственно приложение PHP, на которое не влияет файл web.config. Как я уже сказал, файл работает на моем сервере DEV, но не работает над экземпляром Cloud на Azure. – superphonic