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

Trying to redirect traffic from one IIS website to another on the same server

$
0
0

Hi,

We used COTS production which was configured to run as a virtual dir under my company's website. At that time both my company's website and the virtual dir required application pool 2.0 hence no issue. Recently I switched the company website to the latest version hence the application pool was switched to 4.0 (it can't run on 2.0). Now the COTS couldn't run on 4.0 hence it started breaking. Tried all the different ways of getting the virtual dir run on 2.0 (by converting the virtual dir to a web app under the company website and also trying to avoid the inheritance) but it failed.. 

Final I got some one from StackOverflow to suggest using ARR. The idea is to host the COTS as a separate website (say A) on the same machine and route the incoming traffic to A without any redirects (302) sent to the calling application. So the idea is to use ARR to route traffic meant for one website to another webiste on the same machine behind the scene.

Now on  Windows 7 64 bit I installed the latest ARR, enabled Proxy (didn't made farm), made two website and wrote rules to rewrite the URL and routing worked.

On production I have Windows 8 Standard 64 bit R2 and this routing is failing. I tried writing rules inside my company's website > web.config and also in the global area but the result is bit strange. I can see the rule is kicking (as it doesn't give an error) but it is not routing to the correct resource.

e.g. If the rule is configured to look for the string 'lic2/' theaction url is www.localhost:89 then if I write www.abc.com/lic2/ in the browser, it goes towww.abc.com instead of www.localhost:89.

My rule goes like this

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Route the requests for Company1" stopProcessing="true"><match url="^lic2/(.*)" /><conditions><add input="{CACHE_URL}" pattern="^(https?)://" /></conditions><action type="Rewrite" url="{C:1}://localhost:89/{R:1}" /><serverVariables><set name="HTTP_ACCEPT_ENCODING" value="" /></serverVariables></rule></rules></rewrite></system.webServer></configuration>

Am I doing some thing wrong? Is ARR able to achieve what I am expecting?

Regards,

Wahaj


Reverse Proxy to two different URLs using ARR from single host

$
0
0

I have a website hosted on my local machine at:

localhost:8081

I have to send an AJAX request to a remote sever where I have another application running, it's address is:

192.168.200.158:80/app 

I have configured reverse proxy to this address successfully, and I am sending http requests. The problem is that I also have to send some AJAX requests to another URL from the same localhost:8081website, the other URL is:

192.168.200.158:7071/app-web 

How can I handle these multiple addresses? thanks for any help.

[POC] - Web farm and ARR

$
0
0

Hi all.

I followed this:

 

http://www.asp.net/web-forms/tutorials/deployment/configuring-server-environments-for-web-deployment/creating-a-server-farm-with-the-web-farm-framework

 

and has been great in setting up my test environment (using virtual machines).

Everything replicates the way it should.

Here is my setup:

 

DC

Controller

Primary

Secondary1

Secondary2

 

If I install a website on Primary, it replicates it to Secondary1 and Secondary2 and all works fine.

I installed the ARR in the last section of the article however how can I now configure the environment to do the load balancing?

 

I made a simple website which tells me the name of the server it currently is serving from to tell me that the ARR/LB is working but I am not sure where to go now to configure the environment to serve the site from different servers in the webfarm.

Also, would the "public facing" server be the Primary server? Or would it be the controller?

my controller has IIS installed, along with the Web Farm Framework 2.x.

 

All systems are running WS2008 R2 SP1

 

Thanks!

2 SSL sites behind ARR reverse proxy

$
0
0

My ISP router accepts HTTPS requests and forwards them to ARR server's single IP address. I have 2 SSL websites internally. If I set one of the site's SSL cert on ARR 'Default Web Site', second website gives me error on SSL does not match. How can I overcome this issue with 2 SSL websites behind ARR reverse proxy? Any help appreciated.

Catch 404 error with outbound rule and forward reguest to 2nd farm

$
0
0

Hi,

 

We have the following case:

We have an old farm hosting the old website and a new farm hosting the new site. The new site uses a completely new structure so bookmarkes will get 404's after switching to the new site. For the time being we want to place ARR in front of both farms. and configure both farms in ARR.

The inbound rewrite rule will forward all request to the new farm. But when this farm will return an 404 we would like to catch that reguest and forward it to the old farm (good chance that farm will return a good page). Is this possible? I'm sure I can catch the 404 with an outbound but from there I would like to have the ability to either forward the request to the inbound rewrite rule that redirects to the old farm or have the outbound rule redirect to the old farm. Both results are good to me.

 

Thanks.

IIS URL Rewrite for Reverse Proxying two servers

$
0
0

I have two services hosted on following addresses in a remote server:

192.168.200.157:80/service1 
192.168
.200.157:7071/service2

I am requesting these services using AJAX requests. I have used ARR and URL Rewrite tools for cross domain AJAX requests. For that I have defined a rule in URL rewrite tool of IIS as follows:

<rulename="ReverseProxyInboundRule1"stopProcessing="true">
 <matchurl="(.*)"/>
 
<actiontype="Rewrite"url="http://192.168.200.157:/{R:1}"/>
</rule>

Using this rule I am able to send cross domain requests to "service1" but the requests sent to "service2" are giving "404 Not Found" error.

Firebug results also show that this rule is sending requests to service1, but unable to send requests to service2.

What kind of modifications or additions are required in the above rule to send requests to both services successfully?

bug in ARR2.5 but fixed in ARR3.0

$
0
0

I had tested two sites a.x.com binding with a.x.com and b.x.com binding with b.x.com on IIS7.5 with ARR2.5 and with ARR3.0, they behaved different.

I had to forward requests like http://a.x.com/b/{R:1} tohttp://b.x.com/{R:1} but other requests to http://a.x.com/.*

In ARR2.5, it failed, and the request was forwarded to site a.x.com

In ARR3.0, the request was successfully forwarded to site b.x.com

ARR server and content server was the same one

Is this a bug in ARR2.5?

Do not keep request on load balancer

$
0
0

I've a comet based application that needs to handle several (>1,00,000) comet requests at a time. By Load Testing I've found out that one standalone server can handle 10,000 active async requests comfortably.

I've successfully set up load balancer to distribute the load over 2 servers. I've noted that when I put a load of 10,000 requests, I can see 10,000 request on Load Balancer's IIS Worker Process as well as 5,000 + 5,000 requests on the IIS Worker Processes of the Application Servers as well. My problem is that, if I continue sending more requests to Load Balancer, I start getting 502 or 503 errors.

I don’t want to keep the requests at the Load Balancer. I just want the Load Balancer to forward my comet requests to desired cluster and release the request from its end. By This way I can have 10,000 active comet request on each cluster without having any active request on Load Balancer machine.

Is this possible to do in IIS ARR?


Server Farms missing in 3.0

$
0
0

With a new install of ARR 3.0 on Windows 2012, the "Server Farms" folder is missing. Any idea on how to make it visible in the IIS Management?

IIS7 as a Reverse Proxy

$
0
0

Hi all [disclaimer: i'm very sorry for my bad bad bad english]

I'm quite new on this side of IT. I was told to configure a Reverse Proxy to publish many apps on the web using only one address and redirect incoming requests to the specific private server. Looking around on the web i found out that IIS7 + ARR should be an easy way to get it.

I've tried yesterday for a few hours to set-up the proxy, using this forum and this article as a guide, but I can't figure out the way to configure the proxy.

Could someone of you explain me in a simple way how to proceed step by step?

Many Thanks in advance

Matteo Fontana

ARR with SSL Mutual Authentication

$
0
0

I would like to use ARR on a front end server to do Load Balancing to 3 Backend IIS 7.0 Web Servers. The Backend servers accept requests only from clients thats have a valid client certificate. I am able to get it all to work using https only if the Backend is configure to not require Client certificates. The moment I enable the Require Client certificate option the ARR server responds with "502 - Web server received an invalid response while acting as a gateway or proxy server." I appears that the ARR server is not passing the client certificate to the Backend server which then is responding with an error.

I'm not sure if ARR supports mutual authentication or if what I want to achieve is even possible. Any help/advice in this regard will be appreciated.

ARR+WebFarm for non-HTTP Load Balancing?

$
0
0

Hi,

We are having an ASP front-end application running on Windows Server 2008 R2 + IIS7.5. The applictation connects to WebSphere Application Server ( WAS - Middleware) which in turn is connected to the Sybase Database.

There are 2 Servers running 3 WAS instances each (total 6 ports - RMI- IIOP). 

We need to use the WebFarm + ARR to Load Balance the request from the IIS application to the Websphere.

So, my question is:

         Is it possible to use the ARR Load Balancing, to distribute the RMI-IIOP Traffic? Or is this technology only applicable for HTTP based requests?

Thanks and Regards,

Rakesh

URL Rewrite / Application Request Routing not working when deployed

$
0
0
Hi,

I am using the URL Rewrite/Application Request Routing feature in IIS 7 to proxy requests from a web page that needs to make cross-domain AJAX requests. I have configured the application, and gotten the feature working in 2 different development environments (Win7 x64), but as soon as it is deployed to our staging environment (Win Server 2008), this functionality stops working. The Web.config file remains exactly the same, and I have checked many times to make sure that all the Application Request Routing and URL Rewrite settings are identical (as far as I can tell).

After turning on failed request tracing and examining the logs, I noticed a log entry in the staging environment that I feel may be the culprit:

...
- NOTIFY_MODULE_START
ModuleName: ApplicationRequestRouting
Notification: 16
fIsPostNotification: false
Notification: MAP_REQUEST_HANDLER
Informational: 107.
- ARR_WEBFARM_NOT_ROUTED
HostName: mysite.mydomain.com:8088
...


Above this part of the log, I can see that the url rewrite module correctly rewrites the url (mysite.mydomain.com is the correct site to be routed to), but it seems that the ARR module doesn't like this new URL, and the logs show that the url is reverted back to the original. I've been searching all over for a solution to this, but I am completely stumped. Like I said previously, I have this working just fine in a development environment... so there must be something I am missing.

Any help would be appreciated, thank you,

-Mark

ARR Reverse Proxy to Wordpress site

Losing Virtual Path on Application Hosted in IIS 7

$
0
0

Hello - We have recently set up a reverse proxy to allow persons outside our domain access internal website. We have an application that when hosted on  server 1 running IIS6 it works fine when accessed from outside the domain. However when we move that application to Server 2 which is running IIS 7, it loses the paths to graphics and stylesheets.

We also have another application running on Server 2 that when the gridview rebinds the virtual path is lost and it reverts back to the actual path. This is also through the reverse proxy.

Does anyone have some ideas?

Thanks,

Rick

 

 


DL Ticket Service

$
0
0

Hi to all, I have 2x Windows R2 with IIS configured. The configuration is like this, Network load balancing pointing to VIP, and each IIS has ARR installed so that if one goes offline other will take over. Everything is configured with the help of he http://weblogs.asp.net/owscott/ blog. In addition asp, and php is configure. I need to say that everything is working well. 

Webserver 1 : IP: 192.168.105.1

NLB VIP : 192.168.105.10

LAN: 192.168.109.0

Recently I wanted to install DL Ticketing service, which is php based  upload/download with time limit for files .... in order to avoid using FTP.

I configured everything according to the instructions : http://www.thregr.org/~wavexx/software/dl/README.html

Now the problem, when I try to upload small files (up to 15MB) everything works ok, but when I try to upload something larger (example 30 MB or 120 MB) I receive :

404 - File or directory not found.

The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

1. When I look and the PHP log , nothing special. Warnings are solved.

<div>[29-Oct-2013 09:01:36 Europe/Zurich] PHP Warning:  Module 'mysql' already loaded in Unknown on line 0</div> <div>[29-Oct-2013 09:01:36 Europe/Zurich] PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0</div> <div>[29-Oct-2013 09:01:36 Europe/Zurich] PHP Warning:  Module 'exif' already loaded in Unknown on line 0</div> <div>[29-Oct-2013 09:01:36 Europe/Zurich] PHP Warning:  Module 'openssl' already loaded in Unknown on line 0</div> <div>[29-Oct-2013 09:01:36 Europe/Zurich] PHP Warning:  Module 'pdo_mysql' already loaded in Unknown on line 0</div>

 2. Here is IIS log, I marked as bold the failed attempt 

2013-10-29 08:20:53 W3SVC2 WEBSERVER1 192.168.105.1 GET /ARRHealthCheckTest.txt X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=5b2306f1-3e2d-4f81-ae94-6931c4ee0293 80 - 192.168.105.25 HTTP/1.1 - - domain 200 0 0 420 100 203
2013-10-29 08:21:02 W3SVC2 WEBSERVER1 192.168.105.1 GET /TicketService/ X-ARR-LOG-ID=f093c2d3-c753-464e-91e2-d85573b5a41a 80 - 192.168.109.44 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/30.0.1599.101+Safari/537.36 - domain 302 0 0 562 828 203
2013-10-29 08:21:02 W3SVC2 WEBSERVER1 192.168.105.10 GET /TicketService/ X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=f093c2d3-c753-464e-91e2-d85573b5a41a 80 - 192.168.109.44 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/30.0.1599.101+Safari/537.36 - domain 302 0 0 608 659 218
2013-10-29 08:21:02 W3SVC2 WEBSERVER1 192.168.105.1 GET /TicketService/admin.php X-ARR-LOG-ID=62a40631-01dc-4418-869c-9d6f5444f5a6 80 - 192.168.109.44 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/30.0.1599.101+Safari/537.36 - domain 200 0 0 7921 846 31
2013-10-29 08:21:02 W3SVC2 WEBSERVER1 192.168.105.10 GET /TicketService/admin.php X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=62a40631-01dc-4418-869c-9d6f5444f5a6 80 - 192.168.109.44 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/30.0.1599.101+Safari/537.36 - domain 200 0 0 7967 668 46
2013-10-29 08:21:08 W3SVC2 WEBSERVER1 192.168.105.10 POST /TicketService/admin.php token=6d159f4a2a967016397015f0f9be1c0f&a=newt 80 - 192.168.109.44 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/30.0.1599.101+Safari/537.36 http://domain/TicketService/admin.php domain 404 13 0 1405 33348 0
2013-10-29 08:21:22 W3SVC2 WEBSERVER1 192.168.105.1 GET /ARRHealthCheckTest.txt X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=8d8aea53-de0b-40e3-a34f-96c0129f062d 80 - 192.168.105.1 HTTP/1.1 - - domain 200 0 0 420 100 0
2013-10-29 08:21:22 W3SVC2 WEBSERVER1 192.168.105.1 GET /ARRHealthCheckTest.txt X-ARR-LOG-ID=a689a03d-dd3f-4ca8-b8bd-31174bdd9511 80 - 192.168.105.1 HTTP/1.1 - - domain 200 0 0 259 255 203

I would appreciate any help, and if you know similar software that is fully compatible with IIS recommend.

THanks

url rewrite and ARR across application pools

$
0
0

Hi,

I am trying to figure out how to use url rewrite and Application Request Routing (ARR) to rewrite across different app pools on the same server.

In a simplified version, here is what I have: a REST service API is implemented with 2 virtual directories, Service.A and B, so virtual directory is part of url to access to access resources A and B

GET https://api.mycompany.com/Service.A/A

GET https://api.mycompany.com/Service.B/B

What I want to achieve is to have one single external url for the api without virtual directory names, and obviously not having to go through a code refactoring (to merge solution files and builds)

GET https://api.mycompany.com/A

GET https://api.mycompany.com/B

I implemented a url rewrite rule to match /A in path and replace with /Service.A/A, with some code like this in web.config at the default web site level, which works fine.

        <rewrite>

                <rule name="AddServicePrefix" enabled="true">

                    <match url="^A[/]?.*" />

                    <action type="Rewrite" url="/Service.A/{R:0}" />

                </rule>

        </rewrite>

The problem is that when I assign a different application pool to Service.A (from the app pool of default web site), this will fail immediately with a 403 error, but this is a requirement on our side to have applications/virtual directories running under different app pools to minimize impact when any pool fails or recycles.

I have done some research. This previous post below basically said "if you want to re-route request to another app-pool, you have to make a hop, whether that hop is over winsock or named pipe or whatever else" without much details. I also went through ARR guide but couldn't figure out exactly how to use ARR for this case.

http://forums.iis.net/t/1151510.aspx?Rewrite+across+application+pools+

Any help? Suggestions and comments whether I am in the right direction?

Thanks!

oh, forget to mention the environment: currently in dev environment, IIS 7.5 on Windows 7, Url Rewrite 2.0, and ARR 3.0, installed by Web Platform Installer. 

Using appCmd to move rewrite rules up/down

$
0
0

Can you 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.

Redirect to multiple servers based on host header

$
0
0

Hi, I'm having issues configuring my server to redirect based on the host header.  I want all of my traffic hitting a single server and then if the host is domain.com go to 192.168.1.1 and if the host is intranet.domain.com go to 192.168.1.2.  I've tried using the url rewrite to redirect but this sends to redirect address back to the client and the IP is internal.  I've also tried to use url rewrite but this looks like it's only for content on the same server.  Now I'm looking into ARR with reverse proxy but I'm not finding any tutorials or how-tos.  Am I going in the right direction?  If so, does anyone have a link to an example?  Thanks.

ARR - troubleshooting 502.3 / WinHttp tracing on Server 2012

$
0
0

I have the following scenario:

3 windows server 2012 virtual servers, all with IIS 8:

  • 1 server with Application Request Routing 3
  • 2 servers with the web applications that the ARR server routes to

I am getting intermittent 502 3 12002 errors.

Following this guide http://www.iis.net/learn/extensions/troubleshooting-application-request-routing/troubleshooting-502-errors-in-arr

I have identified that I need to trace using netsh the WinHttp/WebIO providers to get to the real error code that is mapped to the 12002 error code.

I run the trace as the article suggests:

netsh trace start scenario=internetclient capture=yes persistent=no level=verbose tracefile=c:\temp\net.etl

When analysing the output of the netsh traces, I don't get the level of information that the article suggests I should. Specifically I only get the following types of entry in the trace viewed using netmon:

WINHTTP_MicrosoftWindowsWinHttp:Stopping WorkItem Thread Action... 
WINHTTP_MicrosoftWindowsWinHttp:Starting WorkItem Thread Action... 
WINHTTP_MicrosoftWindowsWinHttp:Queue Overlapped IO Thread Action...

I certainly don't get anything detailed enough that would help me understand why am getting any timeouts.

Is there any reason why Server 2012 wouldn't trace the WinHttp API to the level I need?

Thanks

Viewing all 739 articles
Browse latest View live


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