Случайные 500 ошибок IIS с перезаписью или ошибкой при передаче тайны - разрешения на isap_redirect.dll проблема? - PullRequest
0 голосов
/ 30 января 2020

У нас есть сайт с низким трафиком c, который прошел постановку, а затем перешел в производство и работал в течение 30 дней. Кажется, случайно 2 дня go сайт начал выдавать 500 ошибок. На этом сервере имеется 6 рабочих сайтов, и рассматриваемый сайт - единственный сайт, на котором есть 500 ошибок. Простой перезапуск в IIS сайта решил проблему. В журналах IIS и ColdFusion регистрировалось не более 500 ответов и ошибок нет. Единственная разница заключалась в некоторых правилах перезаписи URL:

<system.webServer>
  <httpErrors existingResponse="PassThrough" />
  <rewrite>
      <rules>
        <rule name="Redirect .cfm extension" stopProcessing="false">
          <match url="^(.*).cfm$" ignoreCase="true" />
        <conditions logicalGrouping="MatchAny">
          <add input="{URL}" pattern="(.*).cfm$" ignoreCase="false" />
        </conditions>
          <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
        <rule name="hide .cfm extension" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="true" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          <add input="{REQUEST_FILENAME}.cfm" matchType="IsFile" />
        </conditions>
          <action type="Rewrite" url="{R:0}.cfm" />
        </rule>
    </rules>
</rewrite>

Все остальные правила были такими же, как и на других сайтах того же сервера. Мы включили отслеживание невыполненных запросов, которое, по-видимому, указывает на какую-то ошибку разрешений:

enter image description here

Все сайты обрабатываются одним и тем же isapi_redirect.dll. Мы проверили uriworkermap.properties и worker.properties, и они совпадают с другими производственными серверами.

Чтобы устранить различия, мы вытащили httpErrors и правила перенаправления и скрытия из web.config - и с тех пор он работает нормально, без 500-х (стучит по стеку).

Мы также заметили вчера эти ошибки в файле isapi_redirect.log:

[Wed Jan 29 13:18:58.021 2020] [9056:9196] [error] uri_worker_map_update::jk_uri_worker_map.c (1299): Unable to stat the D:\ColdFusion2018\config\wsconfig\1\uriworkermap.properties (errno=2)
[Wed Jan 29 13:20:44.970 2020] [9056:9196] [error] uri_worker_map_update::jk_uri_worker_map.c (1299): Unable to stat the D:\ColdFusion2018\config\wsconfig\1\uriworkermap.properties (errno=2)

Они также прекратились, когда был изменен web.config. Итак, вопрос в том, что после 2,5 часов с гуру Чарльзом ie Арехарт помогает нам в этом и не получает ответов solid, кто-нибудь еще видел что-нибудь подобное? На что еще мы должны смотреть? С момента изменения файла web.config на всех сайтах на сервере было 0 500 ошибок.

1 Ответ

0 голосов
/ 31 января 2020

Для такого рода проблемы в предоставленной вами информации журнала трассировки запросов недостаточно информации. Если мы хотим устранить проблему такого рода, нам нужно захватить дамп приложения, чтобы увидеть, что произошло. Я предлагаю вам создать полный дамп для процесса и использовать анализ debugdialog для анализа файла дампа, чтобы выяснить причину, используя debug

. Вы можете загрузить его с этого url .

О том, как захватить дамп, вы можете обратиться к этой статье . Примечание: вы должны выбрать cra sh вместо производительности.

О том, как использовать анализ отладки для анализа файла дампа, вы можете обратиться к этой статье .

...