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

Is there any way to install ARR 3.0 on German Windows via Web PI ?

$
0
0

Hi,

we are searching for a convinient way for our German customers to install the ARR 3.0. The best way is using the Web Platform Installer. Unfortunately if you search for "ARR" you will find the Beta Version from July. Apparently a localized version of the ARR 3.0 has not been released. Does anbody know if Microsoft is working on this topic ? Or is there a known workaround like tricking a German Platform Installer in using the US packages feed ?

Any hint on this matter is very appreciated.

-ralf


Rotating servers

$
0
0

Is there any documentation on wat the option "Make Server Unavailable Gracefully" exactly means? I'm interested in how it handles HTTP persistent connections (Keep alive).

I need to find a way to take a server offline and allowing existing requests to complete. However, new requests on existing connections should always be rerouted one of the other servers.

ARR 3.0 and Web Deploy 3.5, Not working

$
0
0

I have a 2012 r2 web farm with one control server and two content servers. I am runing ARR 3.0 on the control server and web deploy 3.5 on the content servers. I am using Visual Studio's Publish via Web Deploy to deploy my sites. I have Client affinity checked as per this page . But when I enter the URL for the server farm, I recieve the error "Web Deploy experienced a connection problem with the server and had to terminate the connection". If I enter a content server's name for the server, the publish works perfectly.

When tring to publish, I am seeing request going to one of the servers via monitoring and management, it shows the response time as '7590' and 1 of 6 request failed.

What I am I doing wrong?

ARR doesn't cache if vary header is set to "Accept".

$
0
0

It seems that the Application Request Routing Cache (ver 2.5) doesn't cache responses if the response contains a vary header. At least this is the case if the vary header is equal to "Vary: Accept".

Does anybody know if this is by design? I can not find any documentation about the ARR caching capabilities so I hoped that the ARR cache fully implements the HTTP spec.

Regards,

Martin

Using IIS and ARR to reverse proxy returns “The server returned an invalid or unrecognized response”

$
0
0

I'm in the process of migrating from one site to another and, although the websites sit on the same server, they aren't in the same application pool.

As such, what I'm proposing is similar to the IIS article 'Reverse Proxy with URL Rewrite v2 and Application Request Routing'.

My setup as as follows:

  • Default Website (accepts connections on *:80 and *:443). 
  • New Website (accepts connections on *:81)

I've enabled proxying in the ARR module and have one rewrit rule in 'New Website'. Currently, I only have one page in the new site (new-page), but this will increase gradually as we migrate over.

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Reverse Proxy to New Website" stopProcessing="true"><match url="^new-page" /><action type="Rewrite" url="http://www.mysite.com:81/new-page" /></rule></rules></rewrite></system.webServer></configuration>

When I go to www.mysite.com/index.htm, I see my old homepage, which is as I'd expect.

However, if I go to www.mysite.com/new-page, I receive an error:

HTTP Error 502.3 Bad Gateway
The server returned an invalid or unrecognized response

HTTP Error 502.3 - Bad Gateway - The server returned an invalid or unrecognized response

I have some further information (retrieved from IIS Failed Request Logging) below:

Request Diagnostics for www.mysite.com:80/new-page

Any help with this would be greatly appreciated.

URL Rewrite or Application Request Routing use with WCF Restful web services

$
0
0

We are planning to have a proxy server kind of implementation in between our Mobile application and our legacy WCF Web service. The proxy server will work as a wrapper for our legacy web services. We are planning to be the proxy server will also be a WCF Web services and it provides APIs for our legacy web server. The proxy server will delegate the API calls to the legacy server and just return the value received from the server. From the mobile app we will invoke the restful apis of the proxy server. We have both GET and POST apis to implement. I know there are some cons for this implementation like performance. But as our client want to implement like this we are going this way.

Hope I have clearly explained my situation. I think this is not a difficult to implement. Can somebody suggest how to implement this?

Is there any open sources are available in the codeplex or code project? Can we use URL Rewrite or Application Request Routing

Disable output caching of dynamic pages for authenticated users

$
0
0

In my setup there is a server running ARR, dispatching requests to an ASP.NET MVC site on a different server. The site uses Forms Authentication, thus authentication happens on the MVC site, not in ARR: basically when the user authenticates the site creates a Forms Authentication cookie.

I'd like the following to happen in ARR:

  • Do output caching for anonymous users.
  • For authenticated users only cache static files (e.g. .css,, .js, .jpg files) and don't cache dynamic pages.

How is it possible to have a cache configuration rule for this scenario? The cache control headers sent by the MVC app are not usable here I think, because imagine this: page 1 is in the cache of ARR. Users authenticates and visits page 1. The MVC app would send a no-cache header but the request is not reaching it, so the user gets the cached version.

Thank you in advance!

Client affinity extensibility?

$
0
0
I'm wondering if it's possible to have programmatic control over the client affinity. I'm maintaining state about outstanding FormsAuthenticationTicket's using the UserData property as a key into a record on my database. I am looking to use that information to send certain users to specific web servers. I know how to read & decrypt FormsAuthenticationCookies into FormsAuthenticationTickets and so I can do the lookups, I just don't know where to/if it's possible to plug this logic into ARR. I would like to only run the DB lookup in the event that the client affinity cookie isn't present in the request headers. If it's not possible, please consider this a feature request. My particular use case is kind of a strange one, but the same functionality could be used to assign users to front-ends that are geographically closest to them, which probably isn't such a strange feature request. In that case, the logic would compute geographic proximity based on the IP address (again, only when the affinity cookie isn't present yet) rather than inspecting the FormsAuthenticationTicket.

Issues with Reverse Proxy and PayPal Redirection

$
0
0

Greetings all,

I have an IIS webserver with a public IP address that is reverse proxying to an e-commerce site hosted internally. Using ARR with the config below everything is working properly except when you go to checkout and a PayPal redirection of some type is issued. If you connect to the internal server directly while on the network everything with checkout works as it should so I know the e-commerce application is configured correctly and the problem lies with ARR and the reverse proxy feature I'm trying to employ. Both servers are running Windows Server 2012. Any suggestions greatly appreciated as I can't seem to figure out what is wrong. Also I will need to add SSL to the mix eventually so any tips or gottchas on that would be nice as well.

<system.webServer>
        <rewrite>
            <outboundRules>
                <rule name="ReverseProxyOutboundRule" preCondition="" enabled="true" patternSyntax="ExactMatch" stopProcessing="false">
                    <match filterByTags="None" pattern="/InternalServer/" />
                    <action type="Rewrite" value="/www.company.com/" />
                </rule>
             </outboundRules>
            <rules>
                <clear />
                <rule name="ReverseProxyInboundRule" enabled="true" stopProcessing="false">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <serverVariables>
                        <set name="HTTP_ACCEPT_ENCODING" value="" />
                    </serverVariables>
                    <action type="Rewrite" url="http://InternalServer/{R:1}" logRewrittenUrl="false" />
                </rule>
            </rules>
        </rewrite>
        <urlCompression doStaticCompression="false" doDynamicCompression="false" />
    </system.webServer>

Regards, Scott

F5/ARR: ARR Helper

$
0
0

I'm running two IIS7 servers (routing to multiple backend farms) behind an F5 load balancer.  Can I use Anil's ARR helper on the ARR servers to track originating IP address?  I'm fine with the originating IP address stopping at the reverse proxy ARR server.  Using "failed request tracing" I did verify the F5 device is passing "x-forwarded-for" in the request header to the IIS 7 arr servers.  I installed ARR Helper on the IIS7 machines without issue but the IIS logs still show the virtual IP of the F5 device.  Are their any speical configuration steps beyond the .msi install to make the ARR Helper work?

Route to Dynamic Server Farm

$
0
0

Is there a technique that I can use to route a request to a dynamic server farm.  I would like to use a rewrite map, lookup up a specific server farm by client and route traffic accordingly.  As we grow it would give me the abilty to route groups of clients to specific back end farms.  I could probably accomplish this with multiple rules but was hoping to manage it all in a single rule with the rewrite map giving me the appropriate redirection.

SSRS 2008 R2 behind ARR

$
0
0

Hi all,

I try to get running SSRS 2008 R2 behind ARR 3.0 and IIS 7.5. But I get always grayed out calendar controls and the report will not showed. I'm using the proxy rule set below.

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Proxy1" patternSyntax="Wildcard" stopProcessing="true"><match url="*" /><action type="Rewrite" url="https://reportserver.com:8443/{R:0}" logRewrittenUrl="true" /><serverVariables></serverVariables><conditions logicalGrouping="MatchAny" /></rule></rules><outboundRules><clear /><rule name="Scripts" enabled="true"><match filterByTags="Script, CustomTags" customTags="CONTENT" pattern="^/Reports(.*)" /><conditions logicalGrouping="MatchAll" trackAllCaptures="true" /><action type="Rewrite" value="/Proxy{R:1}" /></rule><rule name="CUT_Server" enabled="true"><match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link" pattern="^(https://reportserver.com:8443/)(.*)" /><conditions logicalGrouping="MatchAll" trackAllCaptures="true" /><action type="Rewrite" value="https://proxyserver.com/proxy/{R:2}/" /></rule><rule name="Output1" enabled="true" stopProcessing="true"><match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link" customTags="" pattern="^/(.*)" /><conditions logicalGrouping="MatchAll" trackAllCaptures="true" /><action type="Rewrite" value="https://proxyserver.com/proxy/{R:1}" /></rule><customTags><tags name="CONTENT"><tag name="META" attribute="CONTENT" /><tag name="script" attribute="src" /><tag name="form" attribute="action" /></tags></customTags><preConditions><preCondition name="ResponseIsHTML1"><add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /></preCondition></preConditions></outboundRules></system.webServer></configuration>

Does someone did that already and can pass me an example, please?
Regards,

Oeschgi

Can I reverse proxy to an external server via ARR?

$
0
0

I've split an IIS server into two domains on two separate machines.  I need to redirect some URLs on the new domain to the old machine, and reverse proxy other URLs.  The redirects work fine but I can't see any way with ARR to proxy the POST requests from the new machine to the old machine.

In the IIS Server I have ARR -> Server Proxy Settings ... -> Http Version set to "Pass through", and "Proxy type" set to "Use URL Reqrite to inspect incoming requests", and the Reverse proxy set to my old server name.  Then under "URL Rewrite" I have a regular expression "(.*)" and a condition which should match the incoming POST url.  A matched URL should redirect to "http://www.myolddomain.com/{R:0}", but the redirection rule doesn't seem to match---I just get 404 errors.

Any idea what I'm doing wrong here?

ARR with Exchnage 2010 (rpc over https) does it support NTLM

$
0
0

  I have setup a server 2012 system "standard" with IIS and ARR 3.  I have been able to follow a microsoft KB article for exchange 2013 and the outlook webapp is working just fine.  When I configure outlook to use the proxy server the only way I can get outlook to work through the proxy is to use basic authentication.  We have tried setting the excahnge CAS to ntlm, but I cant seem to go through  the proxy using NTLM.

 

So here is my question, is NTLM supported with ARR and does it support outlook anywhere?  I'm getting the feeling that NTLM is not supported but I cant find a doc that says this.

 

any help is much appreciated.

Health Test pass but Status Unknown

$
0
0

Hello Eveyone,

I have a test enirnment with two ARR 3.0 (URL Rewrite 2) servers with NLB running and working.  I also have a single Web server I am attempting to configure to use with ARR.

When I run the Verify URL Test it passes, but in Monitoring and Management both AVailability and Health Status are Unknown.  I can telnet to port 80 to my web server as well as browse to the web site.

Do I need to have more than one server in the farm?  Are there any specfic firewall entries I need?  I realize I should have more than one but I simply testing.

Thanks for any information,

Ian...


Problem with Location response headers with ARR and URL Rewrite Reverse Proxy

$
0
0

We are using a URL Rewrite to setup a reverse proxy to a WAMP server running a PHP application called Moodle. Our main website is running on an IIS 8.0 server. When someone visits a particular directory on that server, the reverse proxy reroutes the request to a WAMP server. So, for example, when a student visits http://myschool.edu/classroom, the reverse proxy sends them to http://wamp-server/classroom. The Moodle application running needs to have the environmental variables set to http://myschool.edu, so we set the "preserveHostHeader" to "true" in the ARR config. This allowed the application to run inside the myschool.edu domain though it was running on a different server. Everything seems to be working correctly. The reverse proxy reroutes the inbound requests.

However, this caused another issue to arise when it comes to outbound responses. When a PHP redirect is sent from the WAMP server outward to the client, the ARR rewrites the "Location" in the header so that it will not forward. For example, if I setup a PHP script on the WAMP server that tells the browser to redirect to "http://youtube.com/watch?v=0000000", ARR (or something else), changes the "Location" in the header to "http://myschool.edu/watch?v=0000000". This causes the redirect to fail and is causing some problems within Moodle when it comes to setting up external urls.

Does anyone know how to fix this so that it output the correct location header?

Thanks,
Blake

Redirect by Timezone

$
0
0

Hello everyone, i am wonderning if it is possible to direct ARR to send requests from people that are in a specific timezone to a specific server farm.  Here is the situation:

Right now we use javascript to calculate an offset and determine the timezone our customers are in, then redirect them to the public URL that is associated with those servers.

What I would like to do is have a single URL that all timezones go to and use the URL rewrite conditions to detect a timezone, but i am new to how the conditions work.  I am thinking it has something to do with using the HTTP_DATE field from the HTTP header to detect an offset just like we do in javascript, but I dont know how this would work. 

Any assistance would be greatly appreciated.  Also I know that our application should be coded to handle timezones, but I am the Infrastructure guy not a developer, and it is a massive project to handle any timezone on a server that is not in the specific timezone of the client.

Thanks for your assistance.

Decoding X-ARR-ClientCert

$
0
0

I am trying to use a URL Rewrite to an application server. My website is SSL client certificate enabled and I need to pass the client certificate info through the rewrite to the application server. I can see the GET request coming into the application server with X-ARR-ClientCert in the header. How can I decode/parse this to get the information?

Why Last-Modified header in IIS ARR cache ignore changes for the first time?

$
0
0

For the first call the ARR cache the file in the server.

Now if I call this file again and again he will get from my server "304 Not Modified" (with if-modified-since) and return the the cache file from the ARR server.

But when I update the file and is "Last-Modified" header change the ARR server will show the cache file for the first call and only in the second will show the updated file.

Why the ARR server not show the updated file right a way after he know the file updated? why he wait for the second call to update him?

Does this is standard behavior of proxy servers with Last-Modified header?

Thanks, Noam

Url Rewrite to different port causes rule to be 'ignored'

$
0
0

Hi there,

I'm having an issue with a rewrite rule in a production environment seemingly being ignored. I say ignored because, if I change the action to something else (say, a redirect instead), it works as expected.

Below is the rule in question:

<rule name="Reverse Proxy Rule" stopProcessing="true"><match url="^news(.*)" /><conditions trackAllCaptures="true"><add input="{HTTP_HOST}" pattern="^(\w+.)?example.com$" /><add input="{SERVER_PORT}" pattern="80" /></conditions><action type="Rewrite" url="http://{C:0}:81/{R:0}" /></rule>

What I would expect to see when going to http://www.example.com/news/todaysnews, is that this rewrite rule would be triggered, and the content would come from a different site which has a binding for the same domain but on a different port (in this case, the other site has a binding on port 81.

What I see however is that the original website on port 80 returns the result (a 404), rather than the expected result. However, if I change the action type to be a "Redirect", visiting the above url works and I am redirected tohttp://www.example.com:81/news/todaysnews.

So I know the rule is being hit, and the conditions are being met. However, the action is not being processed.

Any guidance on what I should be looking for is greatly appreciated.

Viewing all 739 articles
Browse latest View live


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