nginx-clojure icon indicating copy to clipboard operation
nginx-clojure copied to clipboard

Problem with communication between nginx-clojure handler and non nginx-clojure handler

Open dennus opened this issue 9 years ago • 2 comments

When I try to post request from nginx-clojure handler to another location (which is't contains nginx-clojure handler) at the same server instance, I have a problem - when error in external handler occured the process is die, and my nginx-clojure handler not responding anymore to initial client. I'm using Apache Http Client to connect another Nginx location which contains Naxsi handler. Before reloading nginx I see follow message in error log:

2016-11-25 08:11:20[debug][3721][main]onTextMessage fetchStringValidPart : 0, txt=Select AN ... 2016-11-25 08:11:20[debug][3721][main]@BodyFilter:invoke: event get text 2016-11-25 08:11:20[debug][3721][main]@BodyFilter:sec check result 2016-11-25 08:11:21[debug][3721][main]@doExternalBodyFilter: Try to send post request

After that, I'm reloading nginx and see new messages:

2016-11-25 08:12:02[debug][3794][main]@JsonValidator:processRulesFile process rule : location =/service/json;request method=put;schema=/home/osboxes/controller/common/js/put_json.json 2016/11/25 08:12:02 [error] 3794#3794: *13 NAXSI_EXLOG: ip=127.0.0.1&server=localhost&uri=/service/sec_filter&id=42000361&zone=HEADERS&var_name=user-agent&content=Apache-HttpClient/4.5.2%20(Java/1.8.0_102), client: 127.0.0.1, server: lo$ 2016/11/25 08:12:02 [error] 3794#3794: *13 NAXSI_EXLOG: ip=127.0.0.1&server=localhost&uri=/service/sec_filter&id=11&zone=BODY&var_name=&content=, client: 127.0.0.1, server: localhost, request: "POST /service/sec_filter HTTP/1.1", host: $ 2016/11/25 08:12:02 [error] 3794#3794: *13 NAXSI_FMT: ip=127.0.0.1&server=localhost&uri=/service/sec_filter&learning=0&vers=0.55rc2&total_processed=1&total_blocked=1&block=1&cscore0=$UWA&score0=8&zone0=HEADERS&id0=42000361&var_name0=use$ 2016-11-25 08:12:02[debug][3721][main]@doExternalBodyFilter: Executed state code405 2016-11-25 08:12:02[debug][3721][main]@BodyFilter:sec check result = true 2

dennus avatar Nov 25 '16 08:11 dennus

Was there only single nginx worker process? If so it maybe reached a deadlock without thread pool or coroutine enabled.

xfeep avatar Nov 29 '16 12:11 xfeep

No, I have four worker processes

dennus avatar Dec 06 '16 07:12 dennus