502 ошибки при использовании перезаписи URL и маршрутизации запросов приложений - PullRequest
0 голосов
/ 07 сентября 2011

Я использую модули Application Routing и URL Rewrite в IIS7.5 для размещения блога Wordpress в качестве подкаталога моего сайта ASP.NET 4.0.Почти все работает, за исключением того, что я получаю 502 ошибки, когда Wordpress перенаправляет на php-страницы, такие как wp-comments-post.php.Я не могу отследить источник этой проблемы.Я продублировал файл web.config в папке wwwroot для веб-сайта по умолчанию, и если я остановлю настроенный мной веб-сайт в IIS и разрешу веб-сайту по умолчанию перехватывать запрос, все работает нормально - не более 502.Я в тупике.Вот сообщение об ошибке, которое я получаю в журнале трассировки неудачных запросов для сайта, который я настроил:

ModuleName      ApplicationRequestRouting
Notification    128
HttpStatus      502
HttpReason      Bad Gateway
HttpSubStatus   3
ErrorCode       2147942438
ConfigExceptionInfo 
Notification    EXECUTE_REQUEST_HANDLER
ErrorCode       Reached the end of the file. (0x80070026)

Трассировка неудачных запросов в IIS, похоже, не говорит мне ничего нового.Поиски на форумах Google и IIS не принесли особых результатов.Если бы я мог назначить награду за это, я бы сделал.Если требуется дополнительная информация, пожалуйста, дайте мне знать, и я постараюсь предоставить.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 13 сентября 2011

Нашел проблему. Мы используем Kentico CMS, и модуль, который он использует, оказался виновником. Решение состояло в том, чтобы разместить отдельное приложение в подпапке основного приложения и удалить модуль в файле web.config вложенного приложения. В итоге файл web.config выглядел так:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpModules>
      <remove name="XHtmlModule"/>
    </httpModules>
    <compilation debug="true" numRecompilesBeforeAppRestart="100">
      <assemblies>
        <clear/>
      </assemblies>
    </compilation>
    <roleManager defaultProvider="SQL" enabled="false">
      <providers>
        <clear/>
      </providers>
    </roleManager>
  </system.web>
  <system.webServer>
    <modules>
      <remove name="XHtmlModule"/>
    </modules>
  </system.webServer>
</configuration>

В конечном итоге мы также установили PHP на IIS и разместили блог во вложенном приложении, но вышеперечисленные изменения должны позволить работе прокси-сервера работать правильно. Надеюсь, это поможет тому, кто столкнется с той же проблемой.

...