A field of "x-ws.ajax: delta=true" is added after NGINX.

Igor Sysoev igor at sysoev.ru
Tue Aug 23 12:39:37 UTC 2011


On Tue, Aug 23, 2011 at 08:34:25PM +0800, nexthop wrote:
> Thanks Igor feedback.  I will test right now.
> 
> just now,  I made a mistaken: it should be "the field is deleted when the
> pacekt pass through NGINX"
> --------------------------------------------------------------------
> root# ./nginx -V
> nginx: nginx version: nginx/1.0.5
> nginx: built by gcc 4.3.2 (Debian 4.3.2-1.1)
> nginx: configure arguments: --prefix=/var/log/nginx --with-cc-opt='-D
> NGX_UPSTREAM_KEEPALIVE_PATCHED' --add-module=/root/keep_alive --with-debug
> ---------------------------------------------------------------------
> I have other question:
>        Can NGINX forward the original HTTP header directly when it works as
> reverse proxy?
>        In sometimes, some non-standard field in HTTP header is deleted by
> NGINX, however, we need the field pass through NGINX.

You should set on server level:
   ignore_invalid_headers  on;

"x-ws.ajax" has dot in name.

> thanks
> George
> 
> 
> 
> On Tue, Aug 23, 2011 at 8:07 PM, Igor Sysoev <igor at sysoev.ru> wrote:
> 
> > On Tue, Aug 23, 2011 at 07:02:04PM +0800, nexthop wrote:
> > > Hi all:
> > >
> > > I met a stranger problem. a field of "x-ws.ajax: delta=true" is added
> > after
> > > NGINX.
> > >
> > > 1) Topology
> > >      client   ---------[NGINX] -----------------------[IIS 6.0] server
> > >                         ^___Act as reverse proxy
> > >
> > >      NGINX( 1.0.5 and keep-alive enabled)
> > >
> > --------------------------------------------------------------------------------------------------
> > > 2) Issue
> > >     (1) We can not list a directory from IIS server.
> > >     (2) If we bypass NGINX, everything is good well.
> > >
> > --------------------------------------------------------------------------------------------------
> > >
> > > 3) we sniff on both sides of NGINX and compare the pcap file, we found an
> > > extra-field is added after NGIX.
> > >
> > > ---------------------------------------------------------------Before
> > > NGINX-------------------------------------------------------------
> > > POST
> > /server/WorkFlowProcess/WaittingProcessWorkFlow.aspx?_dc=1313745754796
> > > HTTP/1.1
> > > Connection: keep-alive
> > > Host: www.abc.com
> > > Accept: */*
> > > Accept-Language: en
> > > x-requested-with: XMLHttpRequest
> > > Content-Type: application/x-www-form-urlencoded; charset=UTF-8
> > > Referer:
> > > http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx
> > > Accept-Encoding: gzip, deflate
> > > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
> > > Content-Length: 1172
> > > Cache-Control: no-cache
> > > Cookie: ASP.NET_SessionId=2lscnq45aaihogaw0igsoi45
> > >
> > > ----------------------------------------------After
> > >
> > NGINX---------------------------------------------------------------------------------
> > >  POST
> > /server/WorkFlowProcess/WaittingProcessWorkFlow.aspx?_dc=1313745754796
> > > HTTP/1.1
> > > Accept: */*
> > > Accept-Language: en
> > > x-ws.ajax: delta=true
> > >         *  <============Here, the filed is added*
> > > x-requested-with: XMLHttpRequest
> > > Content-Type: application/x-www-form-urlencoded; charset=UTF-8
> > > Referer:
> > > http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx
> > > Accept-Encoding: gzip, deflate
> > > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
> > > Host: www.abc.com
> > > Content-Length: 1172
> > > Connection: Keep-Alive
> > > Cache-Control: no-cache
> > > Cookie: ASP.NET_SessionId=2lscnq45aaihogaw0igsoi45
> > >
> > ============================================================================
> > >
> > > We suspect that the extra field is not recongized by server.
> > >
> > > My question is :
> > > 1) what does it means? I can not find any usful information from google,
> > > there is no such source code in nginx code tree.
> > > 2) what does it impact on?
> > >
> > > Appreciate your help at advice.
> >
> > Could you show what does "nginx -V" show ?
> > The stock nginx version does not add this by default.
> > May be you have the following lines in your configuration:
> >   proxy_set_header  x-ws.ajax          ...
> >   proxy_set_header  x-requested-wirth  XMLHTTPRequest;
> >
> >
> > --
> > Igor Sysoev
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
> >

> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx


-- 
Igor Sysoev



More information about the nginx mailing list