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 응답을 처리하기 때문일 수 있습니다.
이 문제를 해결하려면
또는 코드에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!