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

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)


  1. Issue
    (1) We can not list a directory from IIS server.
    (2) If we bypass NGINX, everything is good well.

  1. 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.

thanks
George

On Tue, Aug 23, 2011 at 07:02:04PM +0800, nexthop wrote:


POST /server/WorkFlowProcess/WaittingProcessWorkFlow.aspx?_dc=1313745754796
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
x-ws.ajax: delta=true
Cache-Control: no-cache
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 S.

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.

thanks
George

On Tue, Aug 23, 2011 at 08:34:25PM +0800, nexthop wrote:


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.

I met a stranger problem. a field of “x-ws.ajax: delta=true” is added
2) Issue
POST
Accept-Encoding: gzip, deflate
HTTP/1.1
Host: www.abc.com

  1. what does it means? I can not find any usful information from google,


Igor S.


nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx


nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx


Igor S.

Thanks a lot

George