/api/test
에 대한 고르는 thusly 히 설정 한
Allow-Origin: http://localhost:8133
Allow-Headers: X-MyHeader
Allow-Method: Get
즉
services.AddCors(options =>
{
options.AddPolicy("default", policy =>
{
policy.WithOrigins("http://localhost:8133")
.WithHeaders("X-MyHeader")
.WithMethods("GET");
});
});
및
app.UseCors("default");
을 내가 /api/test
에 GET 요청을 보내는 경우 액자를 사용하는 X-MyHeader
헤더의 경우 OPTIONS
요청
Access-Control-Request-Headers: x-myheader
Access-Control-Request-Method: GET
Host: localhost:8132
Origin: http://localhost:8133
나는 다시
Access-Control-Allow-Headers: x-myheader
Access-Control-Allow-Origin: http://localhost:8133
Date: {whatever}
server: {whatever}
왜 Access-Control-Allow-Method
헤더가 누락받을?
이제 다른 헤더 (예 : X-NotSupportedHeader
)를 추가하면
Access-Control-Request-Headers: x-notsupportedheader
Access-Control-Request-Method: GET
Host: localhost:8132
Origin: http://localhost:8133
내 대답은 모든 기준 중 하나라도 실패하면 설정에는 Access-Control-Allow-*
헤더가없는 이유
Date: {whatever}
server: {whatever}
그리고 콘솔에서
우리가XMLHttpRequest cannot load http://localhost:8132/api/test. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8133' is therefore not allowed access.