11.11.2015 19:17, Julien FROMENT wrote: 

> Thanks for the reply,

Welcome :) 

> Using post_action could work, if we can sent to the @after_request_location 
> enough reliable information. 
> 
> Can we use the all the variable documented in the ngx_http_core_module 
> (http://nginx.org/en/docs /http/ngx_http_core_module.html#variables [1]) ? 
> Are there any other variables that we could use?

Yes, and your own specified also (or some from custom modules). 

Here is a more large list of all variables -
http://nginx.org/en/docs/varindex.html 

And if you want to use some values returned from upstream you should get
a variables beginning with "upstream_...".
For example, if you need a http-header "X_MY_VAR", you should get
$upstream_http_x_my_var.
If you need a cookie value "example", you can get
$upstream_cookie_example etc. For http status of response use
$upstream_status. Here is the list of it all -
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_addr

> Although, I am a bit concerned by your comment "possibly not recommended to 
> use", could we clarify what you mean or what lead you to think it is not 
> recommended?

Well, you can read my small discussion with unambiguous answer about
this from a nginx developer -
https://www.mail-archive.com/nginx-devel@nginx.org/msg03680.html 

I will keep this feature in my own bundles (and in my own forks) - no
matter what some nginx developers say about this. 
But ... it is my decision about. 

In any case, I believe it is not very complex to create a similar
functionality as (replacement) module, if "post_action" will be removed
later from nginx standard bundle. 

> Rergard, 
> 
> Julien

Regards,
Serg G. Brester (sebres)

> FROM: Sergey Brester [mailto:serg.bres...@sebres.de] 
> SENT: Tuesday, November 10, 2015 2:30 PM
> TO: nginx-devel@nginx.org
> CC: Julien FROMENT
> SUBJECT: Re: Tracking sent responses 
> 
> Hi, 
> 
> I'm sure you can do that using on-board "equipment" of nginx, without deep 
> integrating to the nginx (without write of own module). 
> 
> You can use for this a "post_action", something like:
> 
> post_action @after_request_location; 
> 
> But (There is always a "but":), according to my last known stand: 
> 
> - the feature "post_action" is asynchronously;
> - the feature is not documentated (and possibly not recommended to use);- if 
> location "executed" in post_action uses upstreams (fcgi, proxy_pass, etc.), 
> it will always breaks a keepalive connection to the upstream channel 
> (possibly fixed, but I've missed). 
> 
> Regards,
> sebres. 
> 
> Am 10.11.2015 19:51, schrieb Julien FROMENT: 
> 
>> Hello, 
>> 
>> We would like to use Nginx to keep track of exactly what part of an 
>> upstream's server response was sent over a socket. Nginx could call an API 
>> asynchronously with the number of bytes sent over the socket for a given 
>> request. 
>> 
>> &nbs p; 
>> 
>> Here is the pseudo code: 
>> 
>> -- Client send a request 
>> 
>> -- Nginx processes the request and send it to the upstream 
>> 
>> ... 
>> 
>> -- The upstream returns the response 
>> 
>> -- Nginx sends the response to the client 
>> 
>> -- Nginx calls Async API with the number of bytes sent 
>> 
>> I read a little bit of "Emiller's Guide To Nginx Module Development", and I 
>> think we could write a Handler that provide some tracking information. But I 
>> am unsure if it is possible to hook it at a low enough level for our needs. 
>> 
>> Are there any expert on this mailing list that could provide us consulting 
>> services and guide us through the development of such functionality? 
>> 
>> Thanks in advance! 
>> 
>> Julien 
>> 
>> #
>> 
>> " Ce courriel et les documents qui lui sont joints peuvent contenir des
>> 
>> informations confidentielles ou ayant un caractè privÃ(c)S'ils ne vous sont
>> 
>> pas destinÃ(c) nous vous signalons qu'il est strictement interdit de les
>> 
>> divulguer, de les reproduire ou d'en utiliser de quelque maniè que ce
>> 
>> soit le contenu. Si ce message vous a Ã(c) transmis par erreur, merci d'en
>> 
>> informer l'expÃ(c)teur et de supprimer immÃ(c)atement de votre systè
>> 
>> informatique ce courriel ainsi que tous les documents qui y sont attachÃ(c)"
>> 
>> ******
>> 
>> " This e-mail and any attached documents may contain confidential or
>> 
>> proprietary information. If you are not the intended recipient, you are
>> 
>> notified that any dissemination, copying of this e-mail and any attachments
>> 
>> thereto or use of their contents by any means whatsoever is strictly
>> 
>> prohibited. If you have received this e-mail in error, please advise the
>> 
>> sender immediately and delete this e-mail and all attached documents
>> 
>> from your computer system."
>> 
>> #
>> 
>> _______________________________________________
>> 
>> nginx-devel mailing list
>> 
>> nginx-devel@nginx.org
>> 
>> http://mailman.nginx.org/mailman/listinfo/nginx-devel [2]
> 
> #
> " Ce courriel et les documents qui lui sont joints peuvent contenir des
> informations confidentielles ou ayant un caractè privéS'ils ne vous sont
> pas destiné nous vous signalons qu'il est strictement interdit de les
> divulguer, de les reproduire ou d'en utiliser de quelque maniè que ce
> soit le contenu. Si ce message vous a é transmis par erreur, merci d'en
> informer l'expéteur et de supprimer imméatement de votre systè
> informatique ce courriel ainsi que tous les documents qui y sont attaché"
> 
> ******
> 
> " This e-mail and any attached documents may contain confidential or
> proprietary information. If you are not the intended recipient, you are
> notified that any dissemination, copying of this e-mail and any attachments
> thereto or use of their contents by any means whatsoever is strictly
> prohibited. If you have received this e-mail in error, please advise the
> sender immediately and delete this e-mail and all attached documents
> from your computer system."
> #
 

Links:
------
[1] http://nginx.org/en/docs/http/ngx_http_core_module.html#variables
[2] http://mailman.nginx.
org/mailman/listinfo/nginx-devel
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to