2017-02-13 26 views

回答

0

您可以更改主邏輯。

第一期子請求您的上游(location.capture或LUA-resty-HTTP)

一旦成功,你可以先通過Lua代碼下游發送響應,併發出下一個子請求從Lua你的「另一臺服務器」 。

更新 - 這是行不通的 作爲第二種方法,您可以將您的「其他服務器」視爲上游,並且只有在向原始服務器的子請求成功時才允許向此上游請求。

對於這兩種情況,您都可以使用access_by_lua *和content_by_lua *,其中cosocket API可用。

+0

in access_by_lua *,無法獲得響應狀態,而在content_by_lua_ *中,我不知道如何將html返回給用戶。 1:用戶 - >服務器2:服務器 - >發送當前請求 - >其他服務器3:服務器 - >發送當前響應 - >其他服務器4:返回當前對用戶的響應,而不是lua說或其他。只是服務器返回 –

+0

我不明白你的問題。您可以使用ngx.say()來返回html wiithin content_by_lua * –

+0

https://github.com/openresty/lua-nginx-module#ngxlocationcapture有足夠好的關於返回響應的文檔,包括狀態 –