2
Dropwizard v1.0.0을 사용 중이며 CORS를 구현했지만 Safari, IE 및 Edge에서 오류가 발생했습니다. 그러나 Firefox 및 Chrome에서 작동합니다.IE, Edge 및 Safari에서 DropWizard 기반 API에 CORS 요청이 있지만 Chrome 및 Firefox에서 작동 중입니다.
FilterRegistration.Dynamic cors = environment.servlets()
.addFilter("CORSFilter", CrossOriginFilter.class);
cors.setInitParameter(ALLOWED_ORIGINS_PARAM, "*");
cors.setInitParameter(ALLOWED_HEADERS_PARAM, "Content-Type,Access-Control-Allow-Origin,Authorization");
cors.setInitParameter(ALLOWED_METHODS_PARAM, "OPTIONS,HEAD,DELETE,GET,PUT,POST,PATCH,HEAD");
cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
이 코드는 XYZApplication.java에 적용됩니다.
내가 콘솔에서 얻고오류 메시지는 :
자원을로드하지 못했습니다 : 원산지 https://xyz.in에 의해 허용되지 않는 액세스 제어 - 허용 - 원산지
다음
가 OPTIONS 요청 헤더입니다 가장자리에서 : 여기
Accept: */*
Accept-Encoding: gzip, deflate
Access-Control-Request-Headers: access-control-allow-origin,authorization, accept
Access-Control-Request-Method: GET
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 0
Host: xyz-api.in
Origin: https://xyz.in
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393
는 OPTIONS 요청 헤더는 크롬에서 다음과 같습니다
Host: xyz-api.in
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: GET
Origin: https://xyz.in
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.35 Safari/537.36
Access-Control-Request-Headers: access-control-allow-origin, authorization
Accept: */*
Referer: https://xyz.in/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
내가 빠뜨린 내용이나 다른 세부 정보를 알려주십시오.
"그것이 실패"문제의 좋은 설명이 아니다. 어떻게 실패하고 있습니까? 개발자 도구 콘솔에 어떤 오류 메시지가 표시됩니까? 네트워크 탭의 내용은 무엇입니까? 작동하는 브라우저와 실패한 브라우저에 대한 요청 및 응답의 조합에 대해 다른 점은 무엇입니까? – Quentin
@Quentin은 콘솔의 오류 메시지와 Chrome 및 Edge의 요청 헤더를 포함하여 더 자세한 정보를 추가했습니다. 더 자세한 정보가 필요하면 알려주십시오. – gagangupt16
"원본 https://xyz.in은 허용되지 않습니다"... "원본 : https://xyz.zapr.in"... "원본 : https://adimprints.zapr.in"- **이 원본 중 어느 것도 일치하지 않습니다 **, 그것은 당신이 세 가지 다른 페이지를 가지고있는 것처럼 보이고 그 요청은 두 사람에 의해 트리거되고 오류 메시지는 세 번째 요청에 의한 것입니다. – Quentin