0
나는 서버 응답 응답, 다른 서버에 요청을 보내고 있지만, openresty는 body_filter_by_lua *의 컨텍스트에서 API를 사용할 수 없다고 말합니다. 나는 resty.http 모듈을 사용한다. 감사합니다.openresty on body_filter_by_lua 소켓을 보내십시오
나는 서버 응답 응답, 다른 서버에 요청을 보내고 있지만, openresty는 body_filter_by_lua *의 컨텍스트에서 API를 사용할 수 없다고 말합니다. 나는 resty.http 모듈을 사용한다. 감사합니다.openresty on body_filter_by_lua 소켓을 보내십시오
주 논리를 변경할 수 있습니다. 당신의 업스트림 (location.capture 또는 루아 - resty-HTTP)을
성공시에
첫 번째 문제 subrequest은 먼저 루아 코드에 의해 다운 스트림 응답을 보내고 루아에서 "다른 서버"에 다음 subrequest를 발행 할 수있다 .
업데이트 - 작동하지 않습니다. 두 번째 접근 방법으로 "다른 서버"를 업스트림으로 처리하고 원래 서버로 보조 요청이 성공한 경우에만이 업스트림에 요청할 수 있습니다.
두 시나리오의 경우 cosocket API를 사용할 수있는 access_by_lua * 및 content_by_lua *를 사용할 수 있습니다.
access_by_lua *에서 응답 상태를 얻을 수 없으며 content_by_lua_ *에서 사용자에게 HTML을 반환하는 방법이 없습니다. 1 : 사용자 -> 서버 2 : 서버 -> 현재 요청 보내기 -> 다른 서버 3 : 서버 -> 현재 응답 보내기 -> 다른 서버 4 : 현재 응답을 사용자에게 반환. 그냥 서버 반환 –
나는 당신의 질문을 이해가 안돼. ngx.say()를 사용하여 html로 반환 할 수 있습니다. content_by_lua * –
https://github.com/openresty/lua-nginx-module#ngxlocationcapture에는 상태가 –