iis 윈도우 인증창




어떻게하면 IIS가 내 웹 사이트에서.webmanifest 파일을 제대로 제공 할 수 있습니까? (4)

Favicon Generator 는 웹 마스터가 다양한 장치에 아이콘을 사용할 수 있도록 패키지를 어셈블합니다. 이 페이지는 웹 페이지의 문서 <head> 에서 다음 태그를 통해 링크 된 site.manifest 라는 파일과 함께 제공됩니다.

<link rel="manifest" href="site.webmanifest">

Mozilla 에 따르면 "웹 응용 프로그램 매니페스트는 응용 프로그램 (이름, 작성자, 아이콘 및 설명과 같은)에 대한 정보를 JSON 텍스트 파일로 제공합니다. 매니페스트의 목적은 웹 응용 프로그램을 장치의 홈 화면에 설치하고, 더 빠른 액세스와 풍부한 경험을 가진 사용자 "라고 말합니다.

불행하게도 Microsoft의 인터넷 정보 서비스 (IIS)를 사용하는 경우 site.webmanifest 파일에 액세스하려고하면 404.3 오류가 발생합니다.

정확한 오류 메시지는 다음과 같습니다. "요청한 페이지는 확장 구성으로 인해 서비스 할 수 없습니다. 해당 페이지가 스크립트 인 경우 처리기를 추가하십시오. 파일을 다운로드해야하는 경우 MIME 맵을 추가하십시오."

IIS에서 site.webmanifest 파일을 올바르게 제공하려면 어떻게해야합니까?


@ Ben의 answer 추가 : SPA를 사용하는 경우 StaticFileOptions 코드를 UseSpaStaticFiles () 호출에 추가해야합니다.

FileExtensionContentTypeProvider provider = new FileExtensionContentTypeProvider();
provider.Mappings[".webmanifest"] = "application/manifest+json";

app.UseSpaStaticFiles(new StaticFileOptions()
{
    ContentTypeProvider = provider
});

ASP.NET Core (2.1 사용)를 사용하는 경우 정적 파일 docs에 따라 응용 프로그램 Startup.cs 파일에서 제공 할 수있는 MIME 형식을 구성 할 수 있습니다.

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    FileExtensionContentTypeProvider provider = new FileExtensionContentTypeProvider();
    provider.Mappings[".webmanifest"] = "application/manifest+json";

    app.UseStaticFiles(new StaticFileOptions()
    {
        ContentTypeProvider = provider
    });

    app.UseMvc();
}

기본적으로 IIS는 관련된 MIME 맵이없는 파일을 제공하지 않습니다.

이 문제를 해결하려면 IIS에서 .webmanifest에 대한 MIME 매핑을 추가해야합니다. 이 작업을 수행하려면 IIS를 엽니 다. 왼쪽의 "연결"메뉴에서 웹 사이트 또는 전체 서버를 선택하십시오. 서버를 선택하면 MIME 매핑이 서버의 모든 웹 사이트에 적용됩니다. 웹 사이트를 선택하면 단일 웹 사이트에만 적용됩니다.

그런 다음 IIS 메뉴에서 "MIME 유형"을 선택하십시오.

일단 거기, 오른쪽 메뉴에서 "추가 ..."를 클릭하십시오. 열리는 대화 상자에서 MIME 형식 상자의 파일 이름 확장 상자 "application / manifest + json"에 ".webmanifest"를 지정하십시오.

"확인"을 클릭하면 모든 설정이 완료되어야합니다!


더 쉬운 해결책은 매니페스트 파일의 이름을 site.webmanifest.json으로 바꾸고 다음과 같이 링크하는 것입니다.

 <link rel="manifest" href="site.webmanifest.json">

IIS는 이미 .json 파일에 대한 MIME 유형을 가지고 있어야합니다. IIS 설정을 변경하기가 쉽지 않은 Azure에 배포하는 경우에도 유용합니다.





web-manifest