1

페이지를 렌더링하기 위해 각도로 읽히는 큰 데이터를 URL의 일부로 보내야한다는 요구 사항이 있습니다. URL의 길이는 10000자를 넘습니다. 하지만 구름이 잘못 표시됨 -cloudfront는 413 (요청 엔터티가 너무 큼) 상태로 응답합니다.

잘못된 요청입니다. 서버 (413)의 상태로 응답 (-

자원을로드하지 못했습니다 브라우저 콘솔이 다음 메시지와 함께 오류 코드 (413)를 반환

I2fOApzZr4psKrWsY6abezp5R0m30zKDKE7c0MuB_JkjWbvxz5GVnQ의 == : CloudFront를 (CloudFront를) 요청 ID에 의해 생성 된 엔티티가 너무 큼)

큰 URL 요청을 허용 할 수있는 클라우드 프런트의 설정이 있습니까?

큰 입력을 허용 할 수있는 LimitRequestBody 같은 설정이 있지만 요청이 아파치에 도달하지 않고 클라우드 프론트 자체에서 오류가 발생한다는 것을 알고 있습니다.

문자 수가 많을 때 - 구름 낀 부분은 8226자를 넘었습니다.

+0

가능하다해도 많은 데이터를 저장하기 위해 URL을 사용하는 것이 좋습니다. 관련 : http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers - cloudfront 잘이 크기의 URL을 수락하지 않는 이유입니다. – zapl

+0

우리 앵귤러 js 코드는 다른 콘텐츠 서비스에서 가져온 데이터를 제공하는 템플릿의 일종입니다. URL에서 데이터를 읽는 대신 각도 j에 데이터를 게시 할 수있는 방법이 있습니까? 나는 이것이 각도 js 질문이되고 싶지 않아요. Angular는 인증 문제로 인해 API를 직접 호출 할 수 없습니다. 그리고 나는 각도의 abc을 모른다. –

+0

분명히 할 수있는 방법이 있지만 시스템을 훨씬 더 자세하게 설명해야합니다. => 새로운 질문을 게시하십시오 (또는 여러 개, 이것은 필요한 큰 변화처럼 들립니다). – zapl

답변

2

이것은 지원되지 않습니다. 헤더와 쿼리 문자열을 포함하여 요청의

최대 길이 : CloudFront를 대부분의 응용 프로그램에 대한 합리적이 하드 제한이 20,480 바이트를

의 URL의

최대 길이 : 8,192 바이트

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html

8226 사이의 명백한 불일치 - 8,192 = (34)는 그 수를 계산하는 경우 호스트 이름의 길이와 http:// 아마 때문이다. CloudFront의 설명서에는 "URL"이 나와 있지만 실제 HTTP 프로토콜에서는 Host: 헤더가 나머지 요청과 구분되기 때문에 실제로 한도는 path + query-string의 결합 길이에만 적용될 수 있습니다.

위에서 언급 한 제한 사항과 일부는 협상 할 수없는 것으로 보입니다.

대역폭 (40Gbps), AWS 계정 당 웹 배포 수 (200) 등의 다른 제한은 기본값 한계에 불과하며 사용 사례를 설명하는 요청을 AWS 지원에 제출하여 잠재적으로 증가시킬 수 있지만, 이 경우에는 나타나지 않습니다.

Angular는 인증 문제로 인해 API를 직접 호출 할 수 없습니다.

인증을 필요로하는 소스에서 데이터를 가져 오는 프록시 REST API에 아약스 호출에 대한 경우와 같은 소리 이런 종류의, 그래서 브라우저 측 코드는 ...에 API 뒤에 람다 어쩌면 뭔가를하지 않습니다 게이트웨이.

관련 문제