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

**URL:** <https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007>\
**Category:** NGINX\
**Created:** [August 23, 2011, 1:02pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007 "2011-08-23T13:02:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [August 23, 2011, 1:02pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007/1 "2011-08-23T13:02:27Z")

</div>

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

* * *

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](http://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](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](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](http://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

---

<div class="post-metadata">

**Author:** ![nexthop](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/cc9497/32.png) [@nexthop](https://www.ruby-forum.com/u/nexthop)\
**Post date:** [August 23, 2011, 2:07pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007/2 "2011-08-23T14:07:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![nexthop](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/cc9497/32.png) [@nexthop](https://www.ruby-forum.com/u/nexthop)\
**Post date:** [August 23, 2011, 2:35pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007/3 "2011-08-23T14:35:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nexthop](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/cc9497/32.png) [@nexthop](https://www.ruby-forum.com/u/nexthop)\
**Post date:** [August 23, 2011, 2:40pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007/4 "2011-08-23T14:40:02Z")

</div>

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](http://www.abc.com)
> > > 
> > > 1. what does it means? I can not find any usful information from google,
> > 
> > –  
> > Igor S.
> > 
> > * * *
> > 
> > nginx mailing list  
> > [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> > [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

–  
Igor S.

---

<div class="post-metadata">

**Author:** ![nexthop](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/cc9497/32.png) [@nexthop](https://www.ruby-forum.com/u/nexthop)\
**Post date:** [August 23, 2011, 2:42pm UTC](https://www.ruby-forum.com/t/a-field-of-x-ws-ajax-delta-true-is-added-after-nginx/211007/5 "2011-08-23T14:42:31Z")

</div>

Thanks a lot

George
