정적 HTML/js/css로 작성된 HTML5 앱이 있습니다 (실제로는 Dart로 작성되었지만 자바 스크립트로 컴파일됩니다). 별도의 도메인에서 호스팅되는 REST API를 사용하여 CDN을 통해 응용 프로그램 파일을 제공하고 있습니다. 앱은 클라이언트 측 라우팅을 사용하므로 사용자가 앱을 사용하면 URL은 http://www.myapp.com/categories
과 같이 바뀔 수 있습니다. 사용자가 페이지를 새로 고침하면 문제는, 그것이 초래하는 404클라이언트 쪽 라우팅이 브라우저 새로 고침으로 잘 재생되도록 모든 CDN에서 요청 URI를 다시 쓸 수 있습니까?
거기에 나를 사용자가 유효한 클라이언트 측 경로입니다 페이지를 요청하는 경우, 규칙을 만들 수 있도록하는 어떤 CDN의, 그냥 (내 경우에는) client.html
페이지를 반환하겠습니까? 내 웹 응용 프로그램의 정적 파일을 S3에 저장 아마존의 CloudFront를 CDN을 통해 제공됩니다
더 자세한 설명/예. 응용 프로그램을 부트 스트랩하는 단일 HTML 파일 client.html
이 있습니다. 이 도메인 루트를 방문 할 때 봉사의 기본 파일입니다, 그래서 당신은 www.mysite.com
에 가면 브라우저는 실제로 www.mysite.com/client.html
제공됩니다.
웹 응용 프로그램은 클라이언트 측 라우팅을 사용합니다. 앱이로드되고 사용자가 탐색을 시작하면 URL이 업데이트됩니다. 이러한 URL은 CDN에 실제로 존재하지 않습니다. 예를 들어, 사용자가 위젯을 탐색하려면 단추를 클릭하고 클라이언트 측 라우팅은 "위젯"보기를 표시하고 브라우저의 URL은 www.mysite.com/widgets/browse
으로 업데이트됩니다. CDN에에서 /widgets/browse
실제로 사용자가 브라우저에서 새로 고침 버튼을 안타, 그래서 그들은 404
내 질문은 어떤 CDN 서비스 지원 요청 URI를보고 다시 작성 여부입니다 얻을 존재하지 않습니다. 그래서 /widgets/browse
에 대한 요청을보고 /client.html
으로 다시 쓸 수 있습니다. 그런 식으로, 응용 프로그램 대신 내가 다른 솔루션, 즉 CDN 앞에 서버를 배치,이 문제가 깨닫는 404
을 반환하는 제공 될 것입니다,하지만 덜 이상적입니다.
브라우저가 CDN에서 가져오고 URL에서 파일을 찾을 수있는 URL은 무엇입니까? 나에게 이것은 당신의 질문에서 분명하지 않다. 구체적인 예를 들어 주시겠습니까? –
내 질문이 업데이트되었습니다. 아직도 불분명한지 알려주세요! –
현재 브라우저 위치가 CDN으로 전달되는 이유를 이해하는 데 여전히 문제가 있습니다. 귀하의 CDN이 귀하의 사이트와 동일한 도메인에 응답합니까? CDN에 호스트 된 리소스의 절대 URL이 아닌 상대 URL이 있습니까? 어떻게/왜 당신의 CDN은'/ client.html'을 인식합니까? –