Hello,
Aktualne sa neviem pohnut dalej ohladne jedneho problemu s NGiNX a PHP (CGI). Potrebujem (legalne dovody) komplet logovat vstupujuci request - body aj headre a toto nie je problem dosiahnut.
Mozem priamo v NGiNX cez custom log logovat cele request body, ale podstatne jednoduchsie je priamo na zaciatku skriptu dumpnut cely request priamo cez funckie v PHP.
Mam vsak problem s logovanim responsu. PHP skript pouziva 3rd party modul ktory sa len instacuje a na zaklade vstupu posle nejaky output. Ten output je bud nejaky response 200 OK a nejaky text alebo response 500 a nejaky error. Ja potrebujem KOMPLET cely response vratane headrov a body dumpnut na filesystem ako log.
NGiNX + Lua modul mi celkom jednoducho umoznuje dumpnut response body do NGiNX logu, ale nie headre.
Dany 3rd party modul predpokladam ze pouziva die(), nakolko aj ked pred nim zapnem ob_start a pod tym ob_flush do premennej, tam sa ani nedostane. Dalo by sa nieco take dosiahnut cez CGI wrapper? Alebo ma niekto nejaky napad ako to spravit?
Dakujem.
Pres CGI by to melo jit (predava se "RAW" response.. headers+body). Ale jelikoz to obnasi rekonfiguraci serveru, bylo by omnoho jednodussi udelat aplikacni proxy, ktere preda puvodni dotaz tam kam je potreba a pozadavek/vysledek zaloguje. U tohoto reseni je problem, ze nejde podvrhnout IP pozadujiciho, leda tak pridat x-forwarded-for jako to proxiny delaji. Nekterym aplikacim to neva, ale nekterym muze..