>  기사  >  웹 프론트엔드  >  IIS 7에서 원본 간 리소스 공유를 어떻게 활성화합니까?

IIS 7에서 원본 간 리소스 공유를 어떻게 활성화합니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 01:53:27768검색

How do I enable Cross-Origin Resource Sharing on IIS 7?

IIS 7에서 교차 원본 리소스 공유 활성화

교차 원본 리소스 공유(CORS)는 클라이언트 애플리케이션이 액세스할 수 있도록 허용하는 메커니즘입니다. 다양한 도메인의 리소스. 기본적으로 브라우저는 보안상의 이유로 교차 출처 요청을 제한합니다. IIS 7에서 CORS를 활성화하려면 다음 단계를 따르세요.

  1. Web.config 파일을 구성합니다.

    <에 다음 사용자 정의 헤더를 추가합니다. ;http프로토콜> 섹션:

    <code class="xml"><customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
    </customHeaders></code>
  2. HTTP OPTIONS 요청 처리:

    기본적으로 IIS 7은 HTTP OPTIONS 요청을 처리합니다. 애플리케이션이 이러한 요청을 처리할 수 있도록 하려면 IIS 관리자에서 'OPTIONSVerbHandler'에 대한 프로토콜 지원 모듈을 수정하십시오.

    • 사이트에 대한 핸들러 매핑으로 이동
    • 'OPTIONSVerbHandler'까지 아래로 스크롤 '
    • 'ProtocolSupportModule'을 'IsapiHandler'로 변경
    • 실행 파일 설정: %windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll
  3. 또는 코드에서 HTTP OPTIONS에 응답합니다.

    애플리케이션의 Application_BeginRequest 메서드에 다음 코드를 추가합니다.

    <code class="csharp">protected void Application_BeginRequest(object sender, EventArgs e)
    {
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
    
        if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
        {
            // Handle "pre-flight" OPTIONS call
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
            HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
            HttpContext.Current.Response.End();
        }
    }</code>

By 다음 단계에 따라 IIS 7에서 CORS를 활성화하고 애플리케이션에서 도메인 간 리소스 공유를 허용할 수 있습니다.

위 내용은 IIS 7에서 원본 간 리소스 공유를 어떻게 활성화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.