2015-01-28 5 views
0

У меня есть приложение 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?

+0

Если это PHP-сайт, как вы собираетесь для аутентификации пользователей для доступа к этой папке? Если вы удалите анонимный доступ, это нормально, но как вы затем предоставляете доступ? У ServerFault есть сообщение, подобное этому: http://serverfault.com/questions/72680/iis7-how-to-block-access-with-a-web-config-file –

+0

Конечным пользователям не нужно обращаться к этому папке напрямую, нет необходимости в доступе к этой папке из Интернета. К нему обращается непосредственно приложение PHP, на которое не влияет файл web.config. Как я уже сказал, файл работает на моем сервере DEV, но не работает над экземпляром Cloud на Azure. – superphonic

ответ

-1

Если у кого-то еще такая же проблема, вам нужно добавить элемент location в свой корневой web.config/web.cloud.config. Он должен быть непосредственно внутри configuration элемента, как так:

<configuration> 
    ..... 
    ..... 
    <location path="--folder or file--"> 
     <system.web> 
      <authorization> 
      <deny users="?"/> 
      </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

Использование точного примера дает ошибку. Я не вижу, что такое ошибка. – smorhaim

Смежные вопросы