Thanks a lot<br><br>George<br><br><div class="gmail_quote">On Tue, Aug 23, 2011 at 8:39 PM, Igor Sysoev <span dir="ltr"><<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On Tue, Aug 23, 2011 at 08:34:25PM +0800, nexthop wrote:<br>
> Thanks Igor feedback.  I will test right now.<br>
><br>
> just now,  I made a mistaken: it should be "the field is deleted when the<br>
> pacekt pass through NGINX"<br>
> --------------------------------------------------------------------<br>
> root# ./nginx -V<br>
> nginx: nginx version: nginx/1.0.5<br>
> nginx: built by gcc 4.3.2 (Debian 4.3.2-1.1)<br>
> nginx: configure arguments: --prefix=/var/log/nginx --with-cc-opt='-D<br>
> NGX_UPSTREAM_KEEPALIVE_PATCHED' --add-module=/root/keep_alive --with-debug<br>
> ---------------------------------------------------------------------<br>
> I have other question:<br>
>        Can NGINX forward the original HTTP header directly when it works as<br>
> reverse proxy?<br>
>        In sometimes, some non-standard field in HTTP header is deleted by<br>
> NGINX, however, we need the field pass through NGINX.<br>
<br>
</div>You should set on server level:<br>
   ignore_invalid_headers  on;<br>
<br>
"x-ws.ajax" has dot in name.<br>
<div><div></div><div><br>
> thanks<br>
> George<br>
><br>
><br>
><br>
> On Tue, Aug 23, 2011 at 8:07 PM, Igor Sysoev <<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>> wrote:<br>
><br>
> > On Tue, Aug 23, 2011 at 07:02:04PM +0800, nexthop wrote:<br>
> > > Hi all:<br>
> > ><br>
> > > I met a stranger problem. a field of "x-ws.ajax: delta=true" is added<br>
> > after<br>
> > > NGINX.<br>
> > ><br>
> > > 1) Topology<br>
> > >      client   ---------[NGINX] -----------------------[IIS 6.0] server<br>
> > >                         ^___Act as reverse proxy<br>
> > ><br>
> > >      NGINX( 1.0.5 and keep-alive enabled)<br>
> > ><br>
> > --------------------------------------------------------------------------------------------------<br>
> > > 2) Issue<br>
> > >     (1) We can not list a directory from IIS server.<br>
> > >     (2) If we bypass NGINX, everything is good well.<br>
> > ><br>
> > --------------------------------------------------------------------------------------------------<br>
> > ><br>
> > > 3) we sniff on both sides of NGINX and compare the pcap file, we found an<br>
> > > extra-field is added after NGIX.<br>
> > ><br>
> > > ---------------------------------------------------------------Before<br>
> > > NGINX-------------------------------------------------------------<br>
> > > POST<br>
> > /server/WorkFlowProcess/WaittingProcessWorkFlow.aspx?_dc=1313745754796<br>
> > > HTTP/1.1<br>
> > > Connection: keep-alive<br>
> > > Host: <a href="http://www.abc.com" target="_blank">www.abc.com</a><br>
> > > Accept: */*<br>
> > > Accept-Language: en<br>
> > > x-requested-with: XMLHttpRequest<br>
> > > Content-Type: application/x-www-form-urlencoded; charset=UTF-8<br>
> > > Referer:<br>
> > > <a href="http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx" target="_blank">http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx</a><br>
> > > Accept-Encoding: gzip, deflate<br>
> > > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)<br>
> > > Content-Length: 1172<br>
> > > Cache-Control: no-cache<br>
> > > Cookie: ASP.NET_SessionId=2lscnq45aaihogaw0igsoi45<br>
> > ><br>
> > > ----------------------------------------------After<br>
> > ><br>
> > NGINX---------------------------------------------------------------------------------<br>
> > >  POST<br>
> > /server/WorkFlowProcess/WaittingProcessWorkFlow.aspx?_dc=1313745754796<br>
> > > HTTP/1.1<br>
> > > Accept: */*<br>
> > > Accept-Language: en<br>
> > > x-ws.ajax: delta=true<br>
> > >         *  <============Here, the filed is added*<br>
> > > x-requested-with: XMLHttpRequest<br>
> > > Content-Type: application/x-www-form-urlencoded; charset=UTF-8<br>
> > > Referer:<br>
> > > <a href="http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx" target="_blank">http://www.abc.com/server/WorkFlowProcess/WaittingProcessWorkFlow.aspx</a><br>
> > > Accept-Encoding: gzip, deflate<br>
> > > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)<br>
> > > Host: <a href="http://www.abc.com" target="_blank">www.abc.com</a><br>
> > > Content-Length: 1172<br>
> > > Connection: Keep-Alive<br>
> > > Cache-Control: no-cache<br>
> > > Cookie: ASP.NET_SessionId=2lscnq45aaihogaw0igsoi45<br>
> > ><br>
> > ============================================================================<br>
> > ><br>
> > > We suspect that the extra field is not recongized by server.<br>
> > ><br>
> > > My question is :<br>
> > > 1) what does it means? I can not find any usful information from google,<br>
> > > there is no such source code in nginx code tree.<br>
> > > 2) what does it impact on?<br>
> > ><br>
> > > Appreciate your help at advice.<br>
> ><br>
> > Could you show what does "nginx -V" show ?<br>
> > The stock nginx version does not add this by default.<br>
> > May be you have the following lines in your configuration:<br>
> >   proxy_set_header  x-ws.ajax          ...<br>
> >   proxy_set_header  x-requested-wirth  XMLHTTPRequest;<br>
> ><br>
> ><br>
> > --<br>
> > Igor Sysoev<br>
> ><br>
> > _______________________________________________<br>
> > nginx mailing list<br>
> > <a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
> ><br>
<br>
> _______________________________________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
<br>
<br>
</div></div>--<br>
<div><div></div><div>Igor Sysoev<br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br>