none
Не работает IIS URL Rewrite

    Общие обсуждения

  • На системе с чистой установкой не работает IIS URL Rewrite.

    Привожу текст моего web.config

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="site">
                        <match url="^site/(.*)" />
                        <action type="Rewrite" url="https://mail.ru/{R:1}" />
                    </rule>
                    <rule name="test" patternSyntax="ExactMatch">
                        <match url="test.html" />
                        <action type="Rewrite" url="test.asp" />
                    </rule>
                </rules>
            </rewrite>
            <tracing>
                <traceFailedRequests>
                    <add path="*">
                        <traceAreas>
                            <add provider="WWW Server" areas="Rewrite" verbosity="Verbose" />
                        </traceAreas>
                        <failureDefinitions timeTaken="00:00:00" statusCodes="200-500" />
                    </add>
                </traceFailedRequests>
            </tracing>
        </system.webServer>
    </configuration>

    При запросах по обоих переопределениям получаю ошибку с кодом 0x80070002

    Модуль IIS Web Core
    Уведомление MapRequestHandler
    Обработчик StaticFile
    Код ошибки 0x80070002
    Запрашиваемый URL-адрес http://localhost:80/site/
    Физический путь C:\inetpub\wwwroot\site\
    Способ входа Анонимная
    Пользователь, выполнивший вход Анонимная
    Ошибка запроса на трассировку журнального каталога: C:\temp\FailedReqLogFiles

    Пробовал ставить трассировку (это видно в конфиге), но ничего внятного в ней не получил:

    Url                 http://localhost:80/site/
    App Pool            DefaultAppPool
    Authentication      anonymous
    User from token     NT AUTHORITY\IUSR
    Activity ID         {00000000-0000-0000-4102-0080000000FC}
    Site            1
    Process         4448
    Failure Reason  STATUS_CODE
    Trigger Status  404
    Final Status    200
    Time Taken      140 msec

    Полные трассировки можно посмотреть по ссылке (https :// 1drv.ms/f/s!AjsdVGTymakIdZS1QAsJv7TYhVc).

    Трассировка fr000105.xml - по файлу.

    Трассировка fr000107.xml - по каталогу.

    Проблема повторяется на Windows 7 SP1 обновленной и Windows Server 2012 R2 обновленной.

    Проверил ARR стоит, но подозреваю что не работает.


    24 января 2018 г. 11:31

Все ответы

  • Добрый День.

    Если настраивать через GUI ситуация идентична?


    Я не волшебник, я только учусь MCP CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Пометить как ответ" или проголосовать "полезное сообщение". Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера, Twitter, YouTube, GitHub.

    30 января 2018 г. 19:03
    Модератор
  • Через GUI я и начал настраивать. Когда обнаружил проблему на чистом IIS, то сразу же попробовал сбросить настройки и настроить через конфиг. Переустановка компонентов и всего IIS не решило проблему. Отладка в IIS ужасная, поэтому даже понять почему не работает URL Rewrite не могу. Подозреваю неисправность Application Request Routing. Но в чем именно проблема не ясно до сих пор.
    31 января 2018 г. 6:44
  • Здравствуйте Евгений,

    Уточните пожалуйста, Вы не пробовали установить необходимый модуль URL Rewrite?


    Best Regards, Andrei ...

    MCP

    31 января 2018 г. 8:10
    Модератор
  • Я устанавливал IIS сразу с компонентом "Переопределение HTTP" через компоненты Windows.

    Кроме того я пытался ставить IIS без "Переопределение HTTP" и доустанавливать ARRv3_0.exe и urlrewrite2.exe

    В консоли управления IIS присутствует и ARR и "Переопределение URL-адресов". И у ARR стоит галка "Enable proxy".

    Не могу прикрепить скрины из-за того моя учетка ещё "не прошла проверку", но компоненты действиельно есть в IIS, хотя функционально я их как бы и не наблюдаю - переопределение как бы не работает. И причина не понятна.

    Неужели ещё какие-то компоненты нужны?

    1 февраля 2018 г. 10:12
  • - Вы начните с простого, проверьте правила URL Rewrite без использования доп. модулей работают?
    - Например, правила редиректа 301 или non-www на www?
    - Также убедитесь, чтобы файл конфирурации web.config был в корневой папке сайта/веб-приложение, а не в суб-директориях.

    Best Regards, Andrei ...

    MCP


    • Изменено SQxModerator 1 февраля 2018 г. 19:05 добавлено
    1 февраля 2018 г. 19:02
    Модератор
  • Файл конфирурации web.config лежит именно в корневом каталоге сайте.

    Нет, не работают правила перенаправления с кодом 301 или non-www на www.

    5 февраля 2018 г. 7:03
  • Уточните, в событиях приложения (Eventlog->Application) какие ошибки логируются, в момент когда простые правила url rewrite, не срабатывают?

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    5 февраля 2018 г. 17:28
    Модератор
  • Только одно сообщение в журнале:

    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
        <System>
            <Provider Name="Microsoft-Windows-IIS-W3SVC-WP" Guid="{670080D9-742A-4187-8D16-41143D1290BD}" EventSourceName="W3SVC-WP" />
            <EventID Qualifiers="32768">2264</EventID>
            <Version>0</Version>
            <Level>3</Level>
            <Task>0</Task>
            <Opcode>0</Opcode>
            <Keywords>0x80000000000000</Keywords>
            <TimeCreated SystemTime="2018-02-06T06:23:35.000000000Z" />
            <EventRecordID>194041</EventRecordID>
            <Correlation />
            <Execution ProcessID="0" ThreadID="0" />
            <Channel>Application</Channel>
            <Computer>gureew</Computer>
            <Security />
        </System>
        <EventData>
            <Data Name="Directory">C:\inetpub\temp\IIS Temporary Compressed Files\DefaultAppPool</Data>
            <Binary>05000000</Binary>
        </EventData>
    </Event>

    Такая директория существует, видимо создавалась IIS.

    6 февраля 2018 г. 6:41
  • Возможно сбились права на указанный каталог. Если выключить кэширование, проблема проявляется?

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    7 февраля 2018 г. 0:15
    Модератор
  • Удалил компоненты сжатия контента - сообщений в журнале больше нет.

    Но URL Rewrite все равно не работает.


    7 февраля 2018 г. 6:27
  • Уточните пожалуйста при открытие веб-сервера IIS в списке присутствует URL Rewrite?
    Если да, то при попытки открытия возникают ли ошибки и пристуствую указанные вами ранее правила?




    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    8 февраля 2018 г. 3:29
    Модератор
  • Ранее 

    1 февраля 2018 г. 10:12

    я уже писал, что компоненты в списке присутствуют!

    Кроме того, я уже неоднократно переустанавливал систему (с установкой всех обновлений) - проблема повторяется стабильно и на Windows 7 и на Windows Server 2012 R2. Причем с одинаковыми симптомами: компоненты стоят, включены, правила есть, но не работают. Логи, журналы и трассировка не дают понять в чем проблема, но явно поломан какой-то из компонентов (URL Rewrite и ARR), если не обо сразу.

    Ещё раз, с сожалением, говорю, что скрины прикрепить не могу - "учетная запись не проверена" (не знаю, что у вас тут за магия и чего нужно для проверки).

    8 февраля 2018 г. 6:47
  • Обычно если не страбатывают правила в файле конфигурации Web.Config, то показывается код ошибки в браузере на локальном веб-сервере или логируются ошибки/предупреждение в событиях приложения (EventLog->Apllication).

    P.S. У Вас есть возможность развернуть схожую настройку на тестовом стэнде(важно: не продакшн) и указать емайл для связи, чтобы в дальнейшем обговорить детали удаленного подключения например TeamViewer?

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    8 февраля 2018 г. 21:38
    Модератор
  • Здравствуйте Евгений,

    Пробуйте найти другой путь для анализа и решения проблемы, так как который я вам предложил, вы не смогли предоставить. Так как я ранее просил вас доступ к тестовой платформе, на которой воспроизводиться проблема, а не к рабочей машине человека, который не понимает, что происходит.

    P.S. От вашей личной почты я получил сообщение, что Евгений заболел. Что происходит для меня загадка.


    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    • Изменено SQxModerator 16 февраля 2018 г. 7:53 обновлен
    16 февраля 2018 г. 7:50
    Модератор