IT

오류: Content-Type이 Access-Control-Allow-Headers에서 허용되지 않습니다.

itgroup 2023. 3. 19. 18:05
반응형

오류: Content-Type이 Access-Control-Allow-Headers에서 허용되지 않습니다.

Ajax 요청을 전송하려고 하면 Chrome에서 다음 오류가 발생합니다.

Content-Type is not allowed by Access-Control-Allow-Headers

파이어폭스에서는 모든 것이 정상적으로 동작합니다.

누가 이 문제 해결을 도와줄 수 있나요?

Apache Web Server 가상 호스트 구성에 다음 설정을 추가하는 문제를 해결했습니다.

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"

PHP용 솔루션:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST,GET,OPTIONS');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');

(다른 콘텐츠보다 먼저 전송 필요)

노드에서 CORS(Cross-Site HTTP Requests)를 설정합니다.저에게는 다음과 같습니다.

app.use('/api', function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type');
  next();
});

nginx의 경우

location / {
    proxy_pass http://localhost:59100;
    proxy_http_version 1.1;
    # proxy_set_header Upgrade $http_upgrade;
    # proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;

    # Simple requests
    if ($request_method ~* "(GET|POST)") {
      add_header "Access-Control-Allow-Origin"  *;
    }

    # Preflighted requests
    if ($request_method = OPTIONS ) {
      add_header "Access-Control-Allow-Origin"  *;
      add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
      add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
    }

    # proxy_cache_bypass $http_upgrade;
    # add_header Access-Control-Allow-Origin *;
    # add_header Access-Control-Allow-Headers Content-Type;
}

https://distinctplace.com/2017/04/17/nginx-access-control-allow-origin-cors/ 를 참조해 주세요.

저도 같은 문제가 있어서 다음 헤더를 추가하여 해결했습니다.Access-Control-Allow-Headers: 콘텐츠타입

PHP에서는 localy는 다음 헤더 설정만 설정해도 동작합니다.

header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');

언급URL : https://stackoverflow.com/questions/5027705/error-content-type-is-not-allowed-by-access-control-allow-headers

반응형