Ошибка: ресурс, который вы ищете, был удален, изменилось его имя или временно недоступен

Отключить почти каждый развернутый мной веб-сайт / API-сервис / мобильный сервис. Когда я нажимаю на любой маршрут, отличный от маршрута по умолчанию, я получаю следующую ошибку: "Ресурс, который вы ищете, был удален, изменилось его имя или временно недоступен".

Для тестирования я создал простое приложение ASP.Net WebAPI и веб-сайт ASP.Net MVC и развернул его в Azure. Он развертывается и появляются страницы по умолчанию. Для любой ссылки после этого я получаю эту ошибку.

Ниже представлен мобильный сервис. Созданный и загруженный без изменений и настроенный для аутентификации facebook на portal.azure.com https://wayweb.azurewebsites.net/.auth/login/facebook/callback

Копия кода находится по адресу https://1drv.ms/u/s!AkQ9G9AdaYOPgaZ-vXUdlSW9RuQzOQ

Есть идеи, что я делаю не так?

9 ответов

Решение

Это может помочь:

Чтобы устранить проблему, вам нужно предоставить файл web.config в ваше приложение Angular 2.

https://hgminerva.wordpress.com/2016/04/27/hosting-angular-2-in-windows-azure-error-the-resource-you-are-looking-for-has-been-removed-had-its-name-changed-or-is-temporarily-unavailable/

Добавьте файл web.config в каталог Azure. Добавьте код ниже в это.

<configuration>
<system.webServer>
    <rewrite>
      <rules>
        <rule name="Main Rule" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

Если вы не можете открыть файл json или любой другой файл, даже если он существует, попробуйте добавить:

<system.webServer>
<staticContent>
  <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
  <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
  <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

Я попробовал все вышеперечисленные варианты, но ни один из них не смог решить мою проблему.

Я решил это, добавив файл web.config в свой src папку и вставив ее из package.json файл.

      "tsConfig": "tsconfig.app.json",
"aot": true,
"assets": [
    "src/favicon.ico",
    "src/assets",
    **"src/web.config"**
],

Аудит безопасности - мой аудитор безопасности попросил меня удалить

Физический путь C:\Users\Dell\Documents\Development\WebServicePortal\PyWebServicePortal\Dashboard\DashboardView\robots.txt

Я получал 404 (ресурс, который вы ищете, был удален, его имя было изменено или он временно недоступен). Я хотел использовать пользовательскую ошибку, если код ресурса найден. Я использовал следующий код:

      <httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="File" >
      <remove statusCode="404"/>
      <error statusCode="404" path="ErrorPages/Oops.html" />
    </httpErrors>

Для меня эта ошибка возникла, когда я сделал runAllManagedModulesForAllRequests="false"

          <modules runAllManagedModulesForAllRequests="true">
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v20.1, Version=20.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
        <remove name="FormsAuthentication" />
        <remove name="DefaultAuthentication" />
        <remove name="OutputCache" />
        <remove name="AnonymousIdentification" />
        <remove name="RoleManager" />
    </modules>

Это та же ошибка сообщения, связанная с проблемой с версиями System.Net.Http.dll, System.Net.Http.Formating.dll и System.Net.Http.WebRequest.dll. Я исправил эту публикацию этих сборок в папке bin моего веб-API Azure, хотя они должны были использоваться из глобального кэша. Подробности в ASP Web API не работают в Azure.

Та же ошибка выдавалась для нашего приложения ASP.Net MVC, все было настроено в IIS, но, к сожалению, безуспешно. Мы просто изменили имя «URL-адрес проекта» на PIDWeb вместо PID.Web в свойствах веб-приложения в разделе «Интернет» и в подразделе «Серверы» и нажали «Создать виртуальный каталог». И, что удивительно, это сработало.

Однако точка не поддерживается!

Чтобы решить эту проблему, добавьте файл web.config в папку src (корневой каталог) со следующим кодом.

      <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/help" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

в приведенном выше коде путь API очень важен. Это может отличаться в зависимости от структуры папок на вашем сервере.

      <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />

В моем случае у нас есть имя папки «PublishAPI», и внутри этой папки мы сохранили все развернутые .dll. Поэтому в моих случаях путь должен быть таким, как показано ниже.

      <add input="{REQUEST_URI}" pattern="^/PublishAPI/(api)" negate="true" />
Другие вопросы по тегам