I am not able to repro the problem that you are reporting.
Here is my setup. I have an ARR server with one server in the server farm.
I am using a very simple asp page to set the cookie, like shown below:
<%
Response.buffer = True
Response.Cookies("testcookie") = "Hello"
Response.Cookies("testcookie").Path = "/"
%>
Using Firefox version 3.0.10, I can clear see the cookie being set from the origin server:
- Http: Response, HTTP/1.1, Status Code = 200, URL: /cookietest.asp
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Cache-Control: private
ContentLength: 0
ContentType: text/html
Server: Microsoft-IIS/7.0
Set-Cookie: testcookie=Hello; path=/
Set-Cookie: ASPSESSIONIDSCBTCBSA=OBOHJDKABOLGBEOMEDLBNGDH; path=/
XPoweredBy: ASP.NET
Date: Fri, 05 Jun 2009 16:41:08 GMT
HeaderEnd: CRLF
Then I sent another request to the same server, and again on the request that is going to the origin server, I can clearly see the cookie being sent to the server from ARR via the request header:
- Http: Request, GET /env.asp
Command: GET
+ URI: /env.asp
ProtocolVersion: HTTP/1.1
Keep-Alive: 300
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip,deflate
Accept-Language: en-us,en;q=0.5
Cookie: testcookie=Hello; ASPSESSIONIDSCBTCBSA=OBOHJDKABOLGBEOMEDLBNGDH
Host: arr2
Max-Forwards: 10
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
X-Original-URL: /env.asp
X-Forwarded-For: [2001:4898:2a:5:50e8:1030:165c:4924]:50465
X-ARR-LOG-ID: 10767ae5-588c-45b2-83d7-c618c02d8f03
Connection: Keep-Alive
HeaderEnd: CRLF
Here is what I would recommend that you try. Basically there are two different places where you will need to do the network tracing; 1) between your origin server and ARR and 2) ARR and your client/browser. Capture both the request and the response and see what is going on. In terms of code path, the number of servers in the server farm doesn't really play a role in how the cookies are being set by your application. You will want to take a look at the traces and see if your application is setting the cookie correctly when there is only one server. Then verify that it is being passed correctly by ARR to your client. On subsequent requests, ensure that your client is sending the cookie in the request header, and again between ARR and your origin server. Based on your trace, you should be able to narrow down who may be dropping the cookie.
In my setup, I am able to see the cookie all the way through with having just one server in the server farm. If you have more data that shows that ARR is not passing the cookie (ie. your server is setting it correctly and that the client/browser is also sending it correctly), then I am happy to look at it more, but we need to be able to repro.
Thanks.