나는 거의 새것 같지만 걱정 스럽지만 어디서나 해결책을 찾을 수 없다는 문제가있다. 바니쉬는 GET 요청을 캐시하도록 설정되어있다. 요청의 본문에 매개 변수를 전달하기로 결정한 많은 매개 변수가있는 요청이 있습니다. 이것은 바니시를 우회 할 때 잘 작동하지만 바니시 (캐싱 용)를 통과 할 때 요청이 본문없이 전달되므로 바니시 뒤에있는 서비스가 실패합니다.Varnish/VCL 전문가 : Varnish fetch를 사용하여 요청 본문을 전달하는 방법은 무엇입니까?
나는 POST를 사용할 수 있지만 데이터를 얻고 싶습니다. 또한 패스 모드를 사용하면 바니시가 요청 본문을 전달할 수 있지만 패스 모드에서 요청한 내용은 캐싱되지 않는다는 것을 알 수 있습니다. 저는 이미 해시를 URL에 넣었 기 때문에, 일이 진행될 때 캐시에서 올바른 데이터를 얻을 수 있습니다 (URL이가는 한, 그렇지 않으면 모두 동일하게 보일 것입니다).
이제 문제는 vcl_fetch를 재 작성하여 요청 본문을 웹 서버에 전달하는 것입니다. 모든 힌트와 팁을 환영합니다! 사전에
감사
존이
요청 본문과 함께 HTTP GET 요청을 원하십니까? 이 사이트에서 질문을 찾을 때까지는 가능하지 않다고 생각했습니다. http://stackoverflow.com/questions/978061/http-get-with-request-body. 가능하지만 권장하지는 않습니다. 나는 광택이이 사건을 구현하지 않는다고 상상할 수있다. ... – ivy
나는 그것이 권장되지는 않지만 그것이 허용된다는 것을 안다. 그리고 URL 길이 제한을 둥글게한다. 바니시는 패스 모드에서 지원하지만 결과는 캐시하지 않습니다. 그것은 그들이 (아직?) 페치 모드에서 지원하지 않는 것 같아요 ... 그리고 페치 모드에서 응답을 캐시 할 수 있습니다. : (( –