>웹 프론트엔드 >JS 튜토리얼 >IIS7에서 CORS(Cross-Origin Resource Sharing)를 활성화하는 방법은 무엇입니까?

IIS7에서 CORS(Cross-Origin Resource Sharing)를 활성화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-26 04:39:021036검색

How to Enable Cross-Origin Resource Sharing (CORS) on IIS7?

IIS7에서 CORS(교차 원본 리소스 공유)를 활성화합니다.

CORS(교차 원본 리소스 공유)를 사용하면 웹 애플리케이션을 다른 원본에서 실행할 수 있습니다. 서로에게 HTTP 요청을 합니다. 그러나 기본적으로 다른 도메인에 대한 XHR 요청은 허용되지 않습니다.

대상 도메인에서 CORS 활성화

대상 도메인에서 CORS를 활성화하려면 다음 사용자 정의를 추가하세요. web.config 파일에 대한 헤더:

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <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>
    </httpProtocol>
  </system.webServer>
</configuration></code>

IIS7 구성

대상 도메인에서 CORS를 활성화한 후에도 여전히 405 Method Not Allowed 응답이 나타날 수 있습니다. 이는 응용 프로그램 대신 IIS7이 HTTP OPTIONS 응답을 처리하기 때문일 수 있습니다.

이 문제를 해결하려면

  1. IIS7에서 사이트의 처리기 매핑으로 이동하세요.
  2. 'OPTIONSVerbHandler' 매핑을 찾습니다.
  3. 'ProtocolSupportModule'을 'IsapiHandler'로 변경합니다.
  4. 실행 파일을 '%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll'로 설정합니다.

또는 코드에서 HTTP OPTIONS에 응답

BeginRequest 메서드에서 HTTP OPTIONS 동사에 응답할 수도 있습니다.

<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")
        {
            // 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>

위 내용은 IIS7에서 CORS(Cross-Origin Resource Sharing)를 활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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