재우니의 블로그

 

ASP.NET MVC 의 SSL 환경에서 웹폰트 WEB FONT 적용 안될 경우

ASP.NET MVC 에서 SSL 로 웹폰트 WEB FONT 를 적용하다보면, 크롬에서는 잘되는데 IE 11 에서는 가끔 차단당하는 것을 볼 수 있는데요.
(주소창에서 주소를 직접 입력하여 호출할때만 발생함, 단 화면의 메뉴에서 누르면 잘됨 ㅡㅡ;)

차단 당하면 폰트가 적용이 되지 않아 이슈가 발생합니다. (IE 에서만 유독 ㅡㅡ; 크롬에선 작동 잘됨.)

보통 브라우저 캐시를 미사용하기 위해 전역적 적용을 위해서 Application_BeginRequest() 을 GLOBAL.ASAX.CS 에 아래와 같이 한번에 적용이 가능한데요.

protected void Application_BeginRequest(Object sender, EventArgs e)
{
  Response.Cache.SetCacheability(HttpCacheability.NoCache);
  Response.Cache.SetExpires(DateTime.Now.AddHours(-1));
  Response.Cache.SetNoStore();
}

 

위의 사항을 적용하게 되면 브라우저의 캐시를 사용하지 않고 서버로 부터 매번 요청하여 랜더링 하게 됩니다.

하지만 웹폰트를 호출하여 HTML 에 반영할 경우, FIDDLERS 에서 아래와 같은 오류가 발생되면서 EOT 웹폰트를 호출 하지 못합니다.


Note: EOT Fonts may not contain all characters and are only permitted to load on pages whose URL matches one of the specified RootStrings.

따라서 , 아쉽지만 위의 브라우저 CACHE 코드를 제거 및 주석처리하여 실행하지 못하게 하면 문제는 없습니다.

이것 말고 좋은 아이디어 있으면 공유 바랍니다.