2017-02-13 1 views

답변

0

주 논리를 변경할 수 있습니다. 당신의 업스트림 (location.capture 또는 루아 - resty-HTTP)을

성공시에

첫 번째 문제 subrequest은 먼저 루아 코드에 의해 다운 스트림 응답을 보내고 루아에서 "다른 서버"에 다음 subrequest를 발행 할 수있다 .

업데이트 - 작동하지 않습니다. 두 번째 접근 방법으로 "다른 서버"를 업스트림으로 처리하고 원래 서버로 보조 요청이 성공한 경우에만이 업스트림에 요청할 수 있습니다.

두 시나리오의 경우 cosocket API를 사용할 수있는 access_by_lua * 및 content_by_lua *를 사용할 수 있습니다.

+0

access_by_lua *에서 응답 상태를 얻을 수 없으며 content_by_lua_ *에서 사용자에게 HTML을 반환하는 방법이 없습니다. 1 : 사용자 -> 서버 2 : 서버 -> 현재 요청 보내기 -> 다른 서버 3 : 서버 -> 현재 응답 보내기 -> 다른 서버 4 : 현재 응답을 사용자에게 반환. 그냥 서버 반환 –

+0

나는 당신의 질문을 이해가 안돼. ngx.say()를 사용하여 html로 반환 할 수 있습니다. content_by_lua * –

+0

https://github.com/openresty/lua-nginx-module#ngxlocationcapture에는 상태가 –

관련 문제