Quantcast
Channel: Application Request Routing (ARR)
Viewing all 739 articles
Browse latest View live

Arr disk cache folders

$
0
0

Hi,

For some time ago our ARR disk cache created folders in the Cache directory based on severs in a farm or on the Farm name. For some reason that does not work on a fresh install of ARR 2.5. (Might have been after an update)

Now a folder based on the FQDN of the ARR is used instead and that compliates fault-checking as we could have a folder with the same name across several Server Farms.

Is there a way to change that?


404 on all requests, help!

$
0
0

I have had the the web farm up and running for 6 months with out any problems; however, when I shut down the control server vm on saturday, 11/9/2013, to add more ram, when it came back up it only returns 404 for all sites.  There are no errors for ARR in the event log and the primary and secondary contente servers are listed as health and available for load balancing.  As a test I removed one of the content servers and gave it a public facing ip and it serverd up content with no problems.  Does anyone have any ideas what may have happned?

Farm Configuration

Control Server

  • (Hyper-V) VM - Windows Server 200 R2
  • ARR 3.0
  • URL Rewrite 2.0
  • IIS 8 Express

Content Servers

  • (Hyper-V) VM - Windows Server 200 R2
  • IIS 7

Using ARR with NLB in 3 tier Architecture for High Availability

$
0
0

Hi,

I am creating an infrastructure for my software(s)

3 Web Applications

Web 1(Internet Application)-it has 2 web server and 2 application server

Web 2(Intranet Application)-it has 2 web server and 2 application server

Web 3(Intranet Application)-it has 2 web server and 2 application server

To achieve high availibility for all web server and application server ,

I am keeping 2 servers for each application at web tier and application tier.

I am Keeping a Network load balancer for the pair of Web servers for each websites at web tier and application tier.

 

My worry is NLB will be a single point of failure for each application.

Is there any way where i can use the combination of ARR and create a farm of NLB servers and make all 3 applications highly available.

Any suggestion or solution is highly appreciated.

Thanks in Advance

 

 

 

 

 

Multiple ARR Servers and Draining

$
0
0

I have multiple ARR servers behind a hardware load-balancer and using IIS Shared Configuration. I want to be able to drain a server that is behind the ARR servers. It appears I have to go to each ARR server and drain the server. Is there any way to drain a server from an ARR server farm and have that drain operation replicated to all ARR servers?

ARR 502.3

$
0
0

I am getting 502.3 when accessing some files using ARR.

The confusing thing is that the error occurs every 2 requests, and only if accessed via ARR.

Error Code0x80072f78

The Failed req trace gives this message:

ModuleName
ApplicationRequestRouting


Notification
128


HttpStatus
502


HttpReason
Bad Gateway


HttpSubStatus
3


ErrorCode
2147954552


ConfigExceptionInfo


Notification

EXECUTE_REQUEST_HANDLER

ErrorDescription
The server returned an invalid or unrecognized response

I used netsh trace, and this is the result :

WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::WinHttpQueryHeaders() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::WinHttpReceiveResponse() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:Stopping WorkItem Thread Action (Context: 0x0000000000228BC0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::WinHttpReadData(0x1d44b0, 0x2a04db0, 8192, 0x0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::usr-req 02A285E0 issuing read-data call 02A1B6A0 (buffer = 02A04DB0, bufsize = 8192, filled size = 0, toRead = 8192)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::current thread is not impersonating
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-recver calling WebReceiveHttpResponseEntity(overlapped = 02A2BEA0, buffer-size = 8192)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-recver transitioning from state _HEADERS_RECVED to state _READING_DATA
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 :: <c-b> an async I/O operation completes (overlapped = 02A2BEA0, #bytes/info = 1245, error = ERROR_SUCCESS (0))
WINHTTP_MicrosoftWindowsWinHttp:Queue WorkItem Thread Action (Context: 0x0000000002A2BED0)
WINHTTP_MicrosoftWindowsWinHttp:Queue Overlapped IO Thread Action (Context: 0x0000000002A2BEA0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-req pends read-data
WINHTTP_MicrosoftWindowsWinHttp:Starting WorkItem Thread Action (Context: 0x0000000002A2BED0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::WinHttpReadData() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-recver processing WebReceiveHttpResponseEntity completion (error-cdoe = ERROR_SUCCESS (0x0), #bytes = 1245, overlapped = 02A2BEA0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-req completes read-data successfully; # bytes transferred = 1245
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::sys-req completing a read-data call (error = ERROR_SUCCESS (0), cbRead = 1245)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::usr-req 02A285E0 received OnReadData() callback; error = ERROR_SUCCESS (0), ulNumberOfBytesTransferred = 1245, dwptrContext = 02A1B6A0
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::usr-req 02A285E0 completing (async) sys::read-data (buffer = 02A04DB0, bufsize = 8192, filled size = 0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.524 ::Completing WinHttpReadData() with success; Request Handle = 001D44B0, Context = 028D73E0, Buffer = 02A04DB0 (0x4F44213C), Buffer Length = 1245
WINHTTP_MicrosoftWindowsWinHttp:Stopping WorkItem Thread Action (Context: 0x0000000002A2BED0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::WinHttpCloseHandle(0x1d44b0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::usr-req 02A285E0 releases sys-req 01964360
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::sys-req calling WebCancelHttpRequest
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::sys-req WebCancelHttpRequest completed with ERROR_SUCCESS (0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::usr-req 02A285E0 is shutting down
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::Indicate Status 0x1d44b0, 0x28d73e0, WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING (2048), 0x22dfba0 [0x1d44b0], 8
WINHTTP_MicrosoftWindowsWinHttp:00:40:34.526 ::WinHttpCloseHandle() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpOpenRequest(0x19eaad0, "GET", "/app/resources/common/scripts/native/combobox/combobox.css", "HTTP/1.1", "", 0x0, 0x00000080)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::Indicate Status 0x1d44b0, 0x0, WINHTTP_CALLBACK_STATUS_HANDLE_CREATED (1024), 0x236eb08 [0x1d44b0], 8
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpCreateUrl(0x236ea40, 0x0, 0x0, 0x236eb08)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 :: WinHttpCreateUrl(); URL = (null), URL Length = 0
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 :: WinHttpCreateUrl: error 122 [ERROR_INSUFFICIENT_BUFFER]
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpCreateUrl() returning FALSE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpCreateUrl(0x236ea40, 0x0, 0x2a1bfa0, 0x236eb08)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 :: WinHttpCreateUrl(); URL = http://some.site.com/app/resources/common/scripts/native/combobox/combobox, URL Length = 84
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpCreateUrl() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpOpenRequest() returning handle 0x1d44b0
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetTimeouts(0x1d44b0, 120000, 120000, 120000, 120000)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetTimeouts() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption(0x1d44b0, WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE (92), 0x236ed74 [0x400000], 4)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption(0x1d44b0, WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE (91), 0x236ed7c [0x10000], 4)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption(0x1d44b0, WINHTTP_OPTION_DISABLE_FEATURE (63), 0x236ed18 [0x5], 4)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSetOption() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSendRequest(0x1d44b0, "Cache-Control: max-age=0\r\nAccept: text/html,application/xhtml+xml,application/xm", 611, 0x0, 0, 0, 28d73e0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpAddRequestHeaders(0x1d44b0, "Cache-Control: max-age=0\r\nAccept: text/html,application/xhtml+xml,application/xm", 611, 0x20000000)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpAddRequestHeaders() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::usr-req 02A04DB0 transitioning from state _READY to state _SENDING_RECVING
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::sys-req updates BytesToSend to 0
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::sys-req transitioning from state _INIT to state _SENDING
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::current thread is not impersonating
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::sys-sender calling HttpSendHttpRequest(overlapped = 00228C60)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::sys-sender transitioning from state _INIT to state _SENDING
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::usr-req 02A04DB0 received OnSendingRequest callback
WINHTTP_MicrosoftWindowsWinHttp:Queue Overlapped IO Thread Action (Context: 0x0000000000228C60)
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::sys-req pends send-request
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::WinHttpSendRequest() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:36.456 ::usr-req 02A04DB0 received OnRequestSent callback
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 :: <c-b> an async I/O operation completes (overlapped = 00228C60, #bytes/info = 0, error = ERROR_SUCCESS (0))
WINHTTP_MicrosoftWindowsWinHttp:Queue WorkItem Thread Action (Context: 0x0000000000228C90)
WINHTTP_MicrosoftWindowsWinHttp:Starting WorkItem Thread Action (Context: 0x0000000000228C90)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-sender processing HttpSendHttpRequest completion (error-cdoe = ERROR_SUCCESS (0x0), #bytes = 0, overlapped = 00228C60)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-sender sent a request successfully
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req completing a send-request call (error = ERROR_SUCCESS (0))
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 received OnSendRequest callback; error = ERROR_SUCCESS (0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::Completing WinHttpSendRequest() with success; Request Handle = 001D44B0, Context = 028D73E0, Buffer = 00000000 (0x0), Buffer Length = 0
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpReceiveResponse(0x1d44b0, 0x0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver starts in _INIT state
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::current thread is not impersonating
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver processing WebReceiveHttpResponse completion (error-cdoe = ERROR_SUCCESS (0x0), overlapped = 00228C60))
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver has received response from WebIO
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver returning ERROR_SUCCESS (0) from RecvResponse()
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req completes recv-headers inline (sync); error = ERROR_SUCCESS (0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 recved final status code 304
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 transitioning from state _SENDING_RECVING to state _HEADERS_RECVED
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::Completing WinHttpReceiveResponse() with success; Request Handle = 001D44B0, Context = 028D73E0, Buffer = 00000000 (0x0), Buffer Length = 0
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpQueryHeaders(0x1d44b0, HTTP_QUERY_RAW_HEADERS_CRLF (0x16), "<null>", 0x192e630, 0x192e4b0 [1024], 0x0 [0])
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 :: WinHttpQueryHeaders(); Header = HTTP/1.1 304 Not Modified


WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpQueryHeaders() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpReceiveResponse() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:Stopping WorkItem Thread Action (Context: 0x0000000000228C90)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpReadData(0x1d44b0, 0x2a3acf0, 8192, 0x0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 issuing read-data call 02A1C060 (buffer = 02A3ACF0, bufsize = 8192, filled size = 0, toRead = 8192)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::current thread is not impersonating
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver calling WebReceiveHttpResponseEntity(overlapped = 02A2BF90, buffer-size = 8192)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver transitioning from state _HEADERS_RECVED to state _READING_DATA
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 :: <c-b> an async I/O operation completes (overlapped = 02A2BF90, #bytes/info = 0, error = ERROR_HANDLE_EOF (38))
WINHTTP_MicrosoftWindowsWinHttp:Queue WorkItem Thread Action (Context: 0x0000000002A2BFC0)
WINHTTP_MicrosoftWindowsWinHttp:Queue Overlapped IO Thread Action (Context: 0x0000000002A2BF90)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req pends read-data
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::WinHttpReadData() returning TRUE
WINHTTP_MicrosoftWindowsWinHttp:Starting WorkItem Thread Action (Context: 0x0000000002A2BFC0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver processing WebReceiveHttpResponseEntity completion (error-cdoe = ERROR_HANDLE_EOF (0x26), #bytes = 0, overlapped = 02A2BF90)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-recver detected EOF; all data has been read
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req completes read-data successfully; # bytes transferred = 0
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req shutting down; End-Of-File reached for read-data
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::sys-req completing a read-data call (error = ERROR_SUCCESS (0), cbRead = 0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 received OnReadData() callback; error = ERROR_SUCCESS (0), ulNumberOfBytesTransferred = 0, dwptrContext = 02A1C060
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::usr-req 02A04DB0 completing (async) sys::read-data (buffer = 02A3ACF0, bufsize = 8192, filled size = 0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.049 ::Completing WinHttpReadData() with success; Request Handle = 001D44B0, Context = 028D73E0, Buffer = 02A3ACF0 (0x0), Buffer Length = 0
WINHTTP_MicrosoftWindowsWinHttp:Stopping WorkItem Thread Action (Context: 0x0000000002A2BFC0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::WinHttpCloseHandle(0x1d44b0)
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::usr-req 02A04DB0 releases sys-req 019644E0
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::sys-req failed to cancel the request; the object is already shutting down
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::usr-req 02A04DB0 is shutting down
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::Indicate Status 0x1d44b0, 0x28d73e0, WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING (2048), 0x236f820 [0x1d44b0], 8
WINHTTP_MicrosoftWindowsWinHttp:00:40:38.070 ::WinHttpCloseHandle() returning TRUE

Has anyone encountred this?

Cache Miss but file is cached

$
0
0
Hi,
For some reason this has stopped in our production enviroment but works well in testing.

I have a Cache_Control override for API calls (aspx) that will cache these for 60 seconds. When I request the file from the ARR the file is cached and stored on disk. However it's never used in sub-requests and results in a CACHE miss.

On development enviroment it works fine and it has worked fine in production. For some reason its not.

Can I verify configs easilly some how between the enviroments related to ARR?

Capacity planning for ARR

$
0
0

Hello,

I´m looking form technical docs about capacity planning for IIS Media Services + ARR (and also Edge Caching).

We have some sites geographicaly distributed and around 60 videos on intranet for 6K users.

I need some info like: topology and limits/boundaries

- how much connections per server/installation

- how much users

- total thoughput

- concurrent connections

- total size videos hosted

- memory / cpu / network recomendations

     - for videos on-demand

    - for live videos

- topoloy

and al kind of information like this.

Thank.you

ARR 3.0 not caching many objects

$
0
0

Hi everyone

I'm using ARR 3.0 to reverse proxy a site, and it appears that only certain objects are being cached. I have cache override dules to explicitly cache everything for 3 minutes, but if a URL ends in / I always get X-ARR-CACHE-HIT=0.

Example http://www.domain.com/pages/news/   will always have a cache miss.

However, http://www.domain.com/page/news/pic1.jpg will experience cache hits.

Any ideas what's going on there?

Thanks


ARR adding 1 second delay to requests as SSL-offloading reverse proxy

$
0
0

Hi,

I asked this question on StackOverflow, but have not received a response yet and am getting desperate...

Use Case and Problem

We have a Delphi SOAP service which needs to be SSL-enabled. I opted to use an IIS ARR reverse proxy to do SSL offloading for ease of configuration (compared to OpenSSL and manual certificate + passphrase management). ARR works, but it adds an insane amount of overhead... Response time went from under 2 seconds to 19 seconds for 18 service requests (about 60Kb compressed total).

I tried tweaking and disabling most settings, including caching, buffers, application pool lifetimes, etc. I tried different hosts with clean IIS setups, including a monster production Windows Server 2012.  SSL itself is not the overhead, just having an ARR HTTP (non-SSL) reverse proxy causes the same delay.

Logging Results so Far

I added timestamp logging to client & server for when messages are both sent and received. It shows about 1 second added to each request routing through ARR between sending from the client and receipt by the service. The response is routed back very quickly, only the request routing via ARR is slow (see image below).

IIS Failed Request Tracing logs show the 1 second delay happening on ApplicationRequestRouting EXECUTE_REQUEST_HANDLER, but I do not know how to dig deeper from here...

Question

How can I trace the source of overhead? Is ARR not suited to this use case?

Request & response samples from Fiddler:

Failed Request Tracing log

1 Second Delay on ARR

Thanks!

Carl

IS ARR Load balancing integration with VMM

$
0
0

VMM supports many third party load balancers, from F5 to WNLB. Is there any way to integrate IIS ARR with VMM?

BUG: Ascii char in the User Agent give 502 error, IIS.NET website example

$
0
0

Hi,

In the mobile world there is a lot of OS that called with local language and not only English.

If you go to IIS.net homepage and you will use Chrome to change your User Agent and you add Arabic chars you will see that you get an 502 error.
If you will try that in any website that don't use ARR you will not see this error.

ARR have a lot of problems with ASCII. Problems that other proxy don't have. I think it’s time to fix it.

Thanks.
Noam

ARR Removes Sec-WebSocket-Protocol header from WebSocket Handshake response

$
0
0

We are trynig to use ARR to front a SIP Over Websockets application and have found that it is removing a mandatory header from the Websocket handshake response. See table below showing the handshake response when using a direct connection versus that returned when using ARR.

This causes browser to reject the response as it does not meet teh websocket rfc behaviour, which says that if a request is made with a Sec-WebSocket-Protocol specified, the response must include the same protocol header. In this case "Sec-WebSocket-Protocol: sip"

Correct treatment of WebSocket subprotocols seems to be a fairly fundamental aspect for a Reverse Proxy. So can I ask:

  1. Is this supposed to be supported?
  2. Is this known issue?
  3. Is a fix on the roadmap? 

Regards,

Warren

DirectARR
HTTP/1.1 101 Web Socket Protocol Handshake\r\nHTTP/1.1 101 Web Socket Protocol Handshake\r\n
Expert Info (Chat/Sequence): HTTP/1.1 101 Web Socket Protocol Handshake\r\nExpert Info (Chat/Sequence): HTTP/1.1 101 Web Socket Protocol Handshake\r\n
Message: HTTP/1.1 101 Web Socket Protocol Handshake\r\n  Message: HTTP/1.1 101 Web Socket Protocol Handshake\r\n
Severity level: Chat  Severity level: Chat
Group: Sequence  Group: Sequence
Request Version: HTTP/1.1 Request Version: HTTP/1.1
Status Code: 101 Status Code: 101
Response Phrase: Web Socket Protocol Handshake Response Phrase: Web Socket Protocol Handshake
Upgrade: WebSocket\r\nUpgrade: Websocket\r\n
Connection: Upgrade\r\nServer: Microsoft-IIS/8.0\r\n
Sec-WebSocket-Origin: http://<FQDN-origin-hostname>\r\nX-Powered-By: ARR/2.5\r\n
Sec-WebSocket-Location: ws:///<FQDN-server-hostname>\r\nSec-WebSocket-Accept: 3SxL8CBX4UYv3Xqi9GRNhZ2P1FY=\r\n
Sec-WebSocket-Accept: tFtQwxEHR/Yj42MLSlxwA3XTvHY=\r\nConnection: Upgrade\r\n
Sec-WebSocket-Protocol: sip\r\nDate: Wed, 20 Nov 2013 05:27:38 GMT\r\n
\r\n\r\n
HTTP response 1/1HTTP response 1/1
Time since request: 0.005959000 secondsTime since request: 0.016354000 seconds
Request in frame: 344Request in frame: 300
Missing 
Added 

ARR servers + content servers in NLB

$
0
0

Hello,

I have a goal to set up ARR+NLB with as litte machines as possible, preferably only 2 of them.

Is this kind of configuration supported? Where host A and Host B are both content servers in a farm and ARR servers in NLB.

 

 If this is supported how would example routing rule look like?

 

 

Unknown Availability and Health Status Monitoring and Management

$
0
0

I am trying to set up a two server farm runing 2012 R2 and ARR 2.5. Both web servers have a shared config and  an active site. After creating a new server farm, both server pass the health test, but only show unknown for Availability and Health Status under Monitoring and management. When I try resting the runtime statistics, I get an error saying "the worker process has stopped". Both server show the workerprocess running.

ARR and client session affinity in Azure

$
0
0

Hi All:

        I would greatly appreciate any help or guidance from any of you regarding the following issue "AAR and client session affinity in Azure". I have been looking for more information in the web about this issue and asked in the IIS forums (http://forums.iis.net/t/1197442.aspx/1?Question+regarding+the+implementation+of+the+Client+Session+Affinity+in+AAR), but I didn’t find a place where my doubts could be answered. 

       I have read some very interesting articles that has some relation with these issues, but I still have some doubts.

       I have been playing around with Azure and AAR, in order to obtain client session affinity, but I still have just, one BIG doubt.

        Usually in most of the reference materials (http://www.iis.net/learn/extensions/configuring-application-request-routing-(arr)/http-load-balancing-using-application-request-routing ), there is a single server configure with ARR, that load balances the requests to the different separate application servers belonging to the server farm, so that single ARR enabled server has all the information necessary (Rewrite rules,  web farm server group, cookies belonging to each server) to direct the requests.

       But in Azure, we have:

1)      The Azure Load Balancer

2)      The different ARR enabled server (the web roles, or the IaaS VM in my case)

3)      The different Application server  belonging to the web farm server group (that in my case are the same web roles or IaaS VM, of step 2).

         I have follow the code use on the WinAzureToolkitForEclipseWithJava (  https://github.com/MSOpenTech/WindowsAzureToolkitForEclipseWithJava/blob/master/Utils/ARRConfigurationAgent/ARRConfigurationAgent/ArrWorker.cs) or Benjamin post (http://blogs.msdn.com/b/benjguin/archive/2011/03/25/affinit-233-de-session-sur-azure-avec-arr-session-affinity-on-azure-with-arr.aspx), in order to configure those ARR enabled servers with exactly the same configuration, in an Active/Active fashion.

       But, here my doubt is, in the case that the ARR founds a client session affinity cookie in the request, how does that ARR module knows to which server of the web farm server group to send the request, if they don’t shared the same table storing the associations between the cookies and the servers, because the configuration and decision making is distributed between the different ARR enabled servers.

       If you consider my question interesting, I could provide you with more information that explains all these facts.

      Thanks a lot in advance for your help.

       Kind regards.

              Ángel


No HTTP status code in response

$
0
0

Hi, 

Can you please help me with the below question?

I have a ISAPI externsion dll running in IIS server and it dosn't return any HTTP status code in any response. I have now created a ARR server farm and when I send any request to ARR it sends me the error "502 - Web server received an invalid response while acting as a gateway or proxy server'. It is working fine when I actually prepend the HTTP staus code (like HTTP 200 OK) in the response from ISAPI externsion. But I need to support old clients which doesn't support the status code in response.

So is there any setting in ARR so that it does not check for return HTTP status code and forwards all response?  If not, is there any setting such that ARR also sends request to other servers in the server farm if one of them returns invalid HTTP response? 

Regards,

Raghu

Adding Custom Load Balancing Algorithms

$
0
0

Is there a method for adding custom load balancing algorithms to the ARR configuration?  I would like to route traffic to specific servers based on user identity in an intranet application using Windows Authentication and I don't believe any of the out-of-the-box algorithms allow for this scenario.

Thanks,

James

Configure ARR for Reverse Proxy for SSL Sites

$
0
0

Need pointers on how to configure the following scenario :

 multiple SSL web sites located on different internal servers. using ARR , when a user hits a particular site, it forwards the request to the proper server.

cache issue when kernel cache enabled on arr server

$
0
0

I have two servers, arr server in front and app server background

on arr server, there is only one website for listening and forwarding requests to the backgroud, I find that when kernel cache is enabled on arr server, any request for static content will be directly responsed from arr server even when the static content changed on background server untill I restart the site on arr server

ARR 3.0 under Win 2012 R2 - intermittent 502.3 errors

$
0
0

Hi,

I have the following setup - 2 servers with Win 2012 R2, IIS 8.5 and ARR 3.0 installed

Our sites use ARR very often for internal logic. The most proxied requests has destination the same host (we have a couple hosts records, that point to localhost address, for example 127.0.0.1    api.domain.com), i.e.www.domain.com/api proxied via ARR to the api.domain.com.

This works perfectly under Win 2008R2 + ARR 2.5 or ARR 3.0, but it won't work under Win 2012 or Win 2012 R2 at all :(

I got a huge amount of 502.3 errors under mentioned configuration. Even requests for static files, that proxied via ARR fail randomly with 502.3 error also.

When I press F5 in browser, the same requests execute successfully. FREB shows, that problem located between ARR_REQUEST_HEADERS_START and ARR_REQUEST_HEADERS_END - if this time interval is greater, that 3 seconds, I've got 502.3.
WinHTTP tracing provide me with huge amount of events, but I can't understand, where the problem is (it simply drop some events, so I cant find correspondent event from FREB in WinHTTP trace). The only event, that looks suspicious: 

TCPIP_MicrosoftWindowsTCPIP:TCP: connection 0x0000000081C399F0 (local=127.0.0.1:57574 remote=127.0.0.200:80) terminating: retransmission timeout expired.

Viewing all 739 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>