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

A way to script the Verify URL Test in ARR?

$
0
0

When our ARR implementation has reached the maximum server unhealthy threshold, Event 1002 is logged, ARR stops routing requests and then ARR stops checking server health completely. This causes the servers to not come back up until the moment a Remote Desktop session is established on the ARR server. (See separate open thread on the issue: https://forums.iis.net/t/1234890.aspx)

As a workaround for this, I'd like to try launching a "Verify URL Test" health test as a task tied to Event 1002. I'm thinking maybe this will jumpstart ARR to keep checking server health. Is there a way to script this test? I am unable to find an online source describing how to run IIS ARR tests via scripts.

Thanks.


ARR 2 with URL Rewrite 2 and SSL

$
0
0

I have a model  shown below

client ===> DMZ load balancer ===> DMZ IIS 1...to n (ARR & URL Rewrite) ===> Internal load balancer ====> IBM WebSphere 1 to n

A page on DMZ IIS renders content from the internally hosted WebSphere servers. We used ARR 2 and URL Rewrite 2 to implement a reverse proxy and in test, IIS to WebSphere communication works great, but everything over plain HTTP and  no load balancers in picture.

Now, we are at next step where this whole thing should flow thru NetScaler load balancers and end-to-end SSL.

1) The actual request would come with SSL certificate from DMZ load balancer, and will ARR send that certificate AS IS to the internal load balancer in a state where the load balancer can decrypt the traffic using that certificate, if I uncheck Enable SSL offloading  or use {C:1}://xxxx for the URL rewrite rule ?

2) The internal load balancer is configured for now to use it's own client/server certificates, but in this whole set up it will be receiving HTTP requests signed with DMZ load balancer certificates. Basically the internal load balancer need to deal with two client certificates, one BAU certificate and one for requests coming thru reverse proxy.I read SNI feature of NetScaler and hoping that will work.Any insights into that concept ?

Thank you.

Slow throughput ARR Slow Content Download

$
0
0

I recently tested a new ARR web farm and found that web content download was really high as much as a couple seconds where current production single server rarely gets higher than a couple hundred ms on small pages 100-300 kb.
It's a fairly simple setup, I have 3 farms using 3 servers with different IPs for each farm. ARR is HA using NLB with Multicast.

What would be the best method(s) for troubleshooting? I've researched a ton but nothing seems to help.

I did notice a FREB log shows upwards of 500ms for GENERAL_SET_RESPONSE_HEADER where HeaderName is Cache-Control (private)

I'm fairly new to ARR any help would be greatly appreciated!

Unable to make use of cache feature

$
0
0

Hi,

I'm currently testing ARR for video streaming and I'm unable to get the cache trigger in. The ARR server is configured to work as a reverse proxy but it seems to redirect all requests to the origin. It never takes in account the disk cache to reply to clients although the disk cache keeps filling up.

The send /receive of the network card is almost always similar whereas I expected to see a very high "sending" for a very small "receiving" ratio. I keep playing the different settings but nothing seems to help.

My config is as is :

- Local disk drive for the disk cache configured in ARR. Default values for the settings (clean-up : 5 min, byte range segment : 256, etc).
- "Server Proxy Settings" at the server level (the Proxy found in the ARR GUI) is not enabled.
- ARR farm configured with corresponding rewrite rules.
- Server farm caching = duration: 5 sec - enabled disk cache - enabled request consolidation - query string support included.
- Server farm Proxy  = HTTP version passthru - keep alive enable - Time-out 30 sec - Response Buffer 10240 - Response Buffer threshold 1024
- Server level outbound rule to add a header (Access_Control_Allow_Origin) containing the original domain requested.

Does someone has an idea ?

Thanks,
Wes

Response 502 3 12029 2078 in IIS Server (Windows 2008 R2 Standard SP1) from Jboss server (OS: Windows 2008 R2 Standard SP1) while trying to establish a secure ssl connection from IIS to Jboss server

$
0
0

Hi,

We are facing very strange issue where File upload feature is not working in our web application and we are receiving response 502 3 12030 0 in IIS Server (Windows 2008 R2 Standard SP1 64 bit) from Jboss server (OS: Windows 2008 R2 Standard SP1 64 bit) while trying to establish a secure ssl connection from IIS to Jboss server.

Here are the details:

We have found a similar thread with hotfix available to solve the issue for Windows server 2008 SP2.

https://support.microsoft.com/en-us/help/2721254/cannot-establish-an-ssl-connection-to-a-server-that-is-running-windows-server-2008-sp2

We need help to know if any hotfix is available or required for Windows server 2008 R2 standard SP1?

Regards,

Shashank

Troubleshooting ARR 3.0 - 502.7 error "parameter is incorrect"

$
0
0

One of our production app was throwing a 502.7 error and entire team was struggling to debug it for more than 6 weeks. Finally yesterday we managed to debug the issue hence thought of writing the details here.

There is not much information available about 502.7 error. this sub-status code was introduced in ARR 3.0 latest version.

We have a following setup in production - F5->IIS 8.5 (Siteminder, ARR3.0) -> Tomcat app server.

After the successful login in Siteminder, when the ARR was trying to route the request to app server, it was throwing a502.7 "parameter is incorrect" error. We enabled, failed request tracing, winhttp tracing using netsh but could not get the exact root cause of the issue.

We could determine that Siteminder could be causing some issue as when we disable Siteminder, requests were getting routed to the app server correctly.

After going through the Siteminder logs in details, we observed that there was a whitespace added to one of the custom header as "HTTP_LASTNAME =Samant" which should have been "HTTP_LASTNAME=Samant"

After removing the space from the header name, the requests started flowing.

This was a very small error but team had to spend weeks debugging it. It's not a bug in ISS or ARR but similar situations might come hence posting it here.

Prashant

About ARR works under IIS 10

$
0
0

Before, I installed the ARR helper on windows server 2012 R2 and IIS 8.5. And It'll change the LB ip address with X-Forwarded-For from the header.

But For server 2016 and IIS 10, I installed the ARR 3.0 and it doesn't do this any more.

Is there any setting I need to do to make it works?

HealthCheck at scale?

$
0
0

Is there a limit to the number of ARR farms or health tests?

We are attempting to create ~900 farms and utilize URL health tests on each. It seems like somewhere after ~500 farms things break down. The health check counters become unavailable and requests are no longer routed.

I have noticed that if you 

1. I make sure the IIS AppPool worker process is running

2. I access the default site

3. Create ~900 farms

It works as expected however if IIS is ever reset or the app pool worker process is restarted/recycled it returns to the failed state. 

Any suggestions?


Application

$
0
0

How to send my CV for English to Gujarati and Gujarati to English translation work

choose web farm based on server variable (or something)

$
0
0

Say i want to have a large number of farms (at least several dozen) defined in a single web site, and configure rewrite rules to select the farm based on cookies present in the request.  The only way i've been able to come up with to do that so far is to add a series of rules, one for each farm, that specifies the farm to use and stop further processing when matched.

This works fine for a small number of farms, but i fear won't scale well if there are many (many many) farms defined by the site, since each rule must be processed in sequence until one matches and chooses a farm.

So, my question/concerns are like

- is there a practical limit on the number of farms and/or rewrite rules that you can have in an ARR web site? 

- is there some better way to achieve this sort of "dynamic farm selection based on combination of URL and cookie" behavior.  I looked briefly at writing a custom rewrite provider, and can do that if it is necessary, but as far as i can see at a glance, that doesn't really get me there.

- yes, i suppose I could instead create many web sites on the machine, and have each site dedicated to a specific URL and small set of rules. I'd still have the large number of farms, but at least a given request would only have to work through a few rules to find the correct farm.

Thanks for any tips or advice

roger

How to create ARR with Best practice

$
0
0

Dear All,

We would like to create a ARR with best practice !

We have a web-server it's working well if in-case this server goes down how can we protect ?  can we create a  ARR  ? if you say please can i get the guide with best practice ?

I am waiting for your valuable feedback 

Regards

Subash

 

Capture outbound reverse proxied request generated by ARR

$
0
0
Hi, we use ARR with URL Rewrite 2.0 to perform both application load balancing and also use it as reverse proxy.

The flow is Client(calls htttps://routea.foo.com)-> External LB->Internal LB->ServerA (ARR RUNS HERE, performs url rewrite to hit https://routeb.foo.com, ARR reverse proxies the request) -> External LB->Internal LB->ServerB(process request and returns back to ServerA)-> ServerA sends back the response to the client.

Looking at the failed request tracing logs, I see that the route above works flawlessly. However we need to capture the proxied https request that was generated by ARR after successfully rewriting the incoming request to routeb.foo.com is that possible to do?

When I setup fiddler, configured HTTPS decryption and trusted the root cert in local machine store, I could see the HTTPS TUNNEL to routeB but all the decrypted sessions were still pointing to routeA and I see that they are not being routed correctly. What can I do to capture them correctly?

Images cached as as thumbnail sizes

$
0
0

Using ARR as a reverse proxy and have enabled caching.

Problem is, that images are cached when first viewed via a page that shows the images as thumbnails (full size image resized using the image tag attributes). The cached images are then stored as the thumbnail size, meaning when viewing a page where the full size image should be, you see the cached thumbnail instead.

If you clear the cache and navigate to the image directly first, then the full size image is cached correctly.

Has anyone seen this before, and/or know how to correct this?

Problems with ARR and large GET queries

$
0
0

Hello all,

we ran into a problem with ARR and HTTP GET requests which have a query over 4k.

Other solutions (e.g. http://stackoverflow.com/questions/35949278/event-log-warning-url-for-this-request-exceeds-the-configured-maxurllength-des) seems to only affect IIS itself but according to the failed request tracing the problem comes from ARR:

ModuleNameApplicationRequestRouting
NotificationEXECUTE_REQUEST_HANDLER
HttpStatus413
HttpReasonFULL head
HttpSubStatus0
ErrorCodeThe operation completed successfully. (0x0)
ConfigExceptionInfo

At the moment the installed version of the requestRouter.dll is 7.1.1630 but I guess that problem might also exists on other versions.

Has anyone else that problem? How can we workaround ?

(The problem is that these large requests are generated by a software which could not be changed)

Regards

Simple 50/50 Round Robin Config?

$
0
0

I am trying to configure a test environment with a single IIS server proxying requests to two application servers.  I have the web farm set up in IIS as follows:

<webFarm name="Server Proxy" enabled="true"><server address="192.168.2.29" enabled="true"><applicationRequestRouting weight="100" httpPort="8803" httpsPort="8803" /></server><server address="192.168.2.30" enabled="true"><applicationRequestRouting weight="100" httpPort="8804" httpsPort="8804" /></server><applicationRequestRouting><protocol timeout="00:03:00"><cache enabled="false" /></protocol><loadBalancing algorithm="WeightedRoundRobin" /></applicationRequestRouting></webFarm>

For testing purposes, I am just trying to do a simple 50/50 split for the requests.  However, nothing I have tried ever gets the request routed to the second server.  Any suggestions on what I am missing here?


Shared configuration and content server reboot

$
0
0

We have an ARR setup with a shared configuration stored on a back-end content server. The content server publishes shared for shared configuration for both IIS and ARR, but also for the website content files.

Currently whenever the content server is unreachable for a short period of time (e.g. while it's rebooting) the whole ARR platform goes down. Basically it only returns 503 Service Unavailable from then on and the DefaultAppPool is stopped. I can start the DefaultAppPoolm but it again stops on the first request. Even when the content server comes back online, this behavior doesn't change.

The EventLog tells me there is a configuration error:

"The worker process for application pool 'DefaultAppPool' encountered an error 'Configuration file is not well-formed XML

' trying to read global module configuration data from file '\\?\C:\inetpub\temp\apppools\DefaultAppPool\DefaultAppPool.config', line number '3'.  Worker process startup aborted."

Looking at that file this is the content of it:

"<!-- ERROR: There's been an error reading or processing the applicationhost.config file.  Line number: 0  Error message: Cannot read configuration file because the network path is not found
 -->"

Obviously the shared configuration file on the content server is fine. The only solution I've found so for is to disable Shared configuration and re-enable it.

Does anyone have a solution for this or is there a flaw in my setup?

Best regards,
Raymond

Reverse proxy for video streaming configuration

$
0
0

Hi,

I've been working with ARR to implement a reverse proxy to stream videos. Basically, the setup is as follow :

nginx Origin server <--> IIS Edge server <--> clients

  • [Server-level] Output Cache enabled for user and Kernel (Max cached size 5 GB, no limit)
  • [Server-level] No special rules within Output Caching.
  • [Server-level] HTTP Keep-alive enabled
  • [Website-level] HTTP Keep-alive enabled
  • [ARR Farm-level] Proxy HTTP Keep alive enabled

With this setup, clients almost never hit the cache and gets re-routed directly to the Origin server. IIS logs displays "X-ARR-CACHE-HIT=0" for each requests. At this point, the IIS Edge server is only an intermediate that redirects all queries to the Origin server without performing any caching at all.

But using the same setting as above except for the HTTP Keep alive at the website level.

  • [Server-level] Output Cache enabled for user and Kernel (Max cached size 5 GB, no limit)
  • [Server-level] No special rules within Output Caching.
  • [Server-level] HTTP Keep-alive enabled
  • [Website-level] HTTP Keep-alive DISABLED
  • [ARR Farm-level] Proxy HTTP Keep alive enabled

Then ARR begins to act as a true reverse proxy cache. Network throughput skyrockets and IIS logs "X-ARR-CACHE-HIT=1".

Do you know why it behaves as is ? Do you have any explanation for why the keep-alive header would disable the output caching ? I can't seem to find a logic in this. Any help would be appreciated.

Many thanks !
Wes.

ARR (Reverse Proxy) throws “Bad Request - Invalid Hostname” error when accessing the intranet application using Hostname

$
0
0

ARR (Reverse Proxy) throws “Bad Request - Invalid Hostname” error when accessing the intranet application using Hostname.

   -   Configured SSL site on intranet server with hostname (port 443). Can access the site using hostname in intranet.

   -   Added hostname entry in local DSN

   -   Configured ARR (Reverse Proxy and URL Rewrite rule)

   -   Created server farm and added server by entering Hostname

   -   On ARR server Import certificate in IIS and Trusted Root Certification Authorities

Instead of loading application displays “Bad Request - Invalid Hostname” error, but it loads the application if Server Name / IP is used.

 

Thanks in advance...

moving rewrire rules up and down using appcmd

$
0
0

hi,

is it possible to move rewrite rules up/down using appCmd? 

I've built several scripts to automate the creation of rewrite rules but I'd like to move them around as well.

Error exporting a PDF for Crystal Reports behind ARR

$
0
0

Hi, 

I have a basic web farm setup. One ARR as load balancer and two app instances. 

ARR ---> 2 web app instances --> DB

Currently, all functions works fine except one, exporting PDF from embedded Crystal Report. If we bypass the ARR and go directly to the instances, the exporting PDF works fine. 

Our configurations: ARR 3.0, IIS 8.5 on Windows 2012 R2/64bit, Crystal Report 64 bit. 

Can you please advise? Thanks. 

Viewing all 739 articles
Browse latest View live