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

Memory Leak on ARR edge/gateway Servers

$
0
0

Windows Server 2012

IIS 8

ARR 3.0

8 GB of RAM on servers

We have two ARR edge/gateway servers that sit behind a physical load balancer that evenly distributes traffic to the two of them.  The only thing running on these servers is ARR, no custom code, sites or processes.  The IIS worker process is leaking memory.  We will go from approximately 35% utilized following a reboot to 95% within a few days.  Recycle of the app pool being used by the ARR sites reclaims about 50-60% of what is utilized that is how we know this is the process that is leaking.  We have disabled disk caching on both servers as we thought that may be the culprit.  We do have Signlar in play here, don't know that it matters but I found a few links that talked about potential issues with Signalr and ARR.  We are doing a URL redirect with url rewrite for SSL http:->https: so URL rewrite rules are in play as well.  We recently upgraded from ARR 2.5 to ARR 3.0 in hopes that would resolve the problem but unfortunately it did not, we saw same behavior in 2.5 and 3.0.

We have run out of things to consider or investigate at this point.  We have another ARR server in a different location that receives very little traffic (cold failover server) and can confirm that it does not exhibit any indication of a memory leak with the light usage that it gets.

Hoping someone can help us figure out how to pinpoint the root cause of this issue so that we can get it resolved.  It is definitely a consistent and persistent problem that we would really like to eliminate as soon as possible.

Thanks!


ARR issue with content-disposition

$
0
0

Hi we are using ARR 3.0

We create a file dynamically and download it to the client

When we are doing this through the ARR, the content-disposition in Hebrew is Gibrish

When doing this directly to the same site (Not through the ARR) the file names in Hebrew are OK

Could this be a bug? Does anyone has any idea what could cause it?

Already installed Hebrew language pack on the ARR machine and it did not change anything..

Thanks

Arr to IIS aspx app (ASP.NET Session ID)

$
0
0

Hello, good evening, everyone. I am incorporating an ARR server to blanve two IIS application servers (aspx). The question is that when I pass the requests through the and I route them to a server farm, in the IIS that hosts the application I have problems that indicate this.

Multiple requests in the process state with the same ASP.NET Session ID were detected in the dump file. At any point of time, ASP.NET executes only one request with the same session id and the remaining requests are queued behind the request which is getting executed.

Please check why you got more than one request for the same ASP.NET Session ID by viewing theHTTP report and the ASP.NET Session ID Report</div> <div class="group mt20"></div> <div class="group mt20">

It is clear that the incorporation of the ARR is generating problems with the session, but I can not figure out how to solve it. From what I understand, multiple sessions are being generated and asp.net is slow to release / resolve them Session Id: yegprd55dygtuv45nt4ohg45 Requests: 21

Thank you very much, I hope you can help me.

regards

ARR Helper with IIS 10 do not work

$
0
0
Hi, I have 2 ARR servers with Windows 2016 and IIS 10 + Microsoft Application Request Routing 3.0 (Version 3.0.1988) and 10 web farms on it for balancing load on 2 webservers. Two web-servers also have Windows 2016 and IIS 10 with ARR Helper (version 1.0.1959) installed on it. I enter my web-site from external net (with my mobile phone) and check the site logs. In it I see IP address of my ARR server, but in all my log I see no external address.
(2018-05-30 09:14:46 W3SVC6 WebSRV14 192.168.0.55 POST /ajax/Search X-ARR-LOG-ID=257c6d99-7f83-468c-a8f0-22908203c6c2 80 - 192.168.0.35 HTTP/1.1 WebSRV14 ARRAffinity=....)
Do you have any ideas why arr helper do not work correctly.
PS. I see ARRHelper in IIS->WebServer->Modules, also I see 2 new lines in ApplicationHost.config (<add name="ARRHelper" image="%ProgramFiles%\IIS\ARR Helper\requestRouterHelper.dll" /> and <add name="ARRHelper" />)

Why some sites return HTTP 404 some don't?

$
0
0

I want to add a load balancer to an existing asp.net project using Application Request Routing. So I made myself familiar with the concepts and created a localtest-setup:

  • IIS locally running on Windows 10:
    • Installed Application Request Routing 3.0 with Windows Platform Installer
    • Created server farm with following servers:
      1. <test-server-name>.de (Microsoft 2012 R2 Server: contains the asp.net project)
      2. www.google.com (just to see if load balancing and url rewriting works because I don't have two test servers available)

URL-Rewriting rule:url rewrite rule

After typing localhost multiple times in any browser, I can see that load balancing (weighted round robin) is working fine. It's alternating between 1. and 2. website.

The problem I'm facing is a 404 Error on both websites. enter image description here

I already tried the following:

  • Installing and enabling Failed Request Tracing Rules (on local IIS): URL Rewriting is working properly i think.
    Failed Request Log for www.google.com: google drive, unzip and open xml in e.g. IE for better view

  • Create Server Farm without automatic creation of URL Rewrite rulesenter image description here

    (selecting No and create own URL Rewrite rule)

  • Change "Managed Pipeline Mode"-setting of Applcation Pool fromIntegrated to Classic

  • Healthcheck on other Websitesenter image description here I have absolutly no clue why it's working on Git-websites and why facebook is returning a 400 error code.

  • Enabling/disabling proxy (IIS-Manager -> Application Request Routing Cache -> Server Proxy Settings...)

I don't know what i could do next, so I appreciate any help. Thanks.

Any way to log ARR_SERVER_ROUTED Server in ASP.NET

$
0
0

We see a lot of 502.3 errors which is indicating that we are failing to receive a valid response from the server that the ARR routed to. To improve our telemetry we would like to log the ServerName that the ARR tried to connect to for a given request.

We have a custom httpmodule that fires for every request routed by the arr to the server farms. Looking at the ARR_SERVER_ROUTED event in the FREB traces i see a Server field and i would like to access it inside the httpmodule. Is this field exposed anywhere as a Server Variable for us to log? I am going to setup a test page to log all server variables to find the answer but i was hoping if someone has already tried it and has a recommendation for us.

Example Log Entry for ARR_SERVER_ROUTED

RoutingReason="LoadBalancing", Server="192.168.0.216", State="Active", TotalRequests="3", FailedRequests="2", CurrentRequests="1", BytesSent="648", BytesReceived="0", ResponseTime="15225" 16:50:21.033

Regards,

Anirudh

Provisioning on ARR fails with "The expected token is DOCTYPE" error

$
0
0

Hello. 

I'm have an issue with provisioning on my ARR server. One of a IIS nodes always fails to provision with the following errors:

Info Running operation 'QueryInstalledProducts'
Info Running operation 'RunRemote' {MethodType=Microsoft.Web.Farm.GetInstalledProductsRemoteMethod, MethodParameters={http://www.microsoft.com/web/webpi/3.0/WebproductList.xml, {}}}


Error Failed to run operation 'RunRemote'. Failed to run method 'Microsoft.Web.Farm.GetInstalledProductsRemoteMethod' on server 'servername'. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3.


Error Failed to run operation 'QueryInstalledProducts'. Failed to run method 'Microsoft.Web.Farm.GetInstalledProductsRemoteMethod' on server 'servername'. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3.


Error Failed to run operation 'ProvisionPlatform'. Failed to run method 'Microsoft.Web.Farm.GetInstalledProductsRemoteMethod' on server 'servername'. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3. Exception in response stream. 'doctype' is an unexpected token. The expected token is 'DOCTYPE'. Line 1, position 3.

I assume that url http://www.microsoft.com/web/webpi/3.0/WebproductList.xml not working and thats why DOCTYPE error occurs.

I think this error appeared after unexpected reboot of a IIS node.

How can I fix this? Any help will be much appriciated.

Chaining reverse proxy with windows authentication

$
0
0

Hello, 

I have to chain reverse proxy for the needs of a web application. 

This is my infrastructure : 

_______________________________________________________________________________________________________________

| Server IIS  1 : http://server1                    |               Server IIS 2 : http://server2                                            |

|-------------------------------------------  | ------------------------------------------------------------ --         |

| reverseProxy1 on : 9999                          |               reverseProxy2 on : 9090                                                |

|                                                                 |             Net Core application (8090) Windows authentication    |

_______________________________________________________________________________________________________________|

The user request  http://server1:9999/actionToRewrite - >http://server2:9090/actionToRewrite ->http://server2:8090/action 

But when i execute this scenario i meet a connection popup on the user's browser (Google chrome) but with C

hrome the windows authentication is automatic. Why i have this connection popup ? 

I test the same scenario with the reverseProxy1 on the same IIS server it's work correctly without the connection popup

http://server2:XXXX/actionToRewrite - >http://server2:9090/actionToRewrite ->http://server2:8090/action 

For the reverse proxy, i use an rewrite URL rule and the reverse is on anonymous authentication.

Someone can help me to understant this behavior. 

Thanks in advance


ARR for Custom SSL Ports

$
0
0

I have 3 web servers out of which 2 are hosting multiple SSL Sites ( 1 site is bound to default port 443 while the other to 5403)

ARR Works fine with default SSL Port for load balancing

But when I create another rule to intercept any requests for port 5403 and route it to the server farm, it fails.

<rewrite><globalRules><clear /><rule name="WebServices" patternSyntax="Wildcard" stopProcessing="true"><match url="*5403*" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Rewrite" url="https://mysite:5403/{R:2}" /></rule><rule name="ARR_mysite_loadbalance" enabled="false" patternSyntax="Wildcard" stopProcessing="true"><match url="*" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Rewrite" url="http://mysite/{R:0}" /></rule><rule name="ARR_mysite_loadbalance_SSL" enabled="false" patternSyntax="Wildcard" stopProcessing="true"><match url="*" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false"><add input="{HTTPS}" pattern="on" /></conditions><action type="Rewrite" url="https://mysite/{R:0}" /></rule></globalRules></rewrite></system.webServer><location path="" overrideMode="Allow"><webFarms><webFarm name="mysite" enabled="true"><server address="10.16.10.19" enabled="true" /><server address="10.16.10.17" enabled="true" /><applicationRequestRouting><protocol><cache enabled="false" /></protocol><affinity /></applicationRequestRouting></webFarm><applicationRequestRouting><hostAffinityProviderList><add name="Microsoft.Web.Arr.HostNameRoundRobin" /></hostAffinityProviderList></applicationRequestRouting></webFarms></location>

The Server HTTPThe set of server variables "http_host" doesn't work_HOST

$
0
0


I've installed aar and rulrewrite in IIs10, the proxy rule are as following :

<rules><rule name="sta_newfile_253" enabled="true"><match url="^default/(.*)" /><action type="Rewrite" url="http://192.168.101.110/{R:0}" /><serverVariables><set name="HTTP_HOST" value="www.test.com" /><set name="HTTP_COOKIE" value="ID=FD" /></serverVariables>	</rule></rules>              

The rule works, but the value of "http_host" is not equal to what i set in the rule

HTTP_COOKIE:ID=FD
HTTP_HOST:192.168.101.110

How can I set up so that I can make the "HTTP_HOST" equal “www.test.com”

iis10+ arp3.0 reverse proxy problem

$
0
0

my lan network setup an rocket chat docker server,listen on tcp 3000 port,my iis 10 reverse https to it,

browser and android app is ok,but ios app have problem。

the android app logs:

2018-08-28 05:48:28 b.b.b.b GET /api/info X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=5d103c1f-7a8d-4dd0-9e11-ba1970cd0ffc&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 94
2018-08-28 05:48:28 b.b.b.b GET /api/v1/settings.public count=0&fields=%7B%22type%22%3A%201%7D&query=%7B%22_id%22%3A%20%7B%22%24in%22%3A%20%5B%22LDAP_Enable%22%2C%22CAS_enabled%22%2C%22CAS_login_url%22%2C%22Accounts_RegistrationForm%22%2C%22Accounts_ShowFormLogin%22%2C%22Accounts_PasswordReset%22%2C%22Accounts_CustomFields%22%2C%22Accounts_OAuth_Google%22%2C%22Accounts_OAuth_Facebook%22%2C%22Accounts_OAuth_Github%22%2C%22Accounts_OAuth_Linkedin%22%2C%22Accounts_OAuth_Meteor%22%2C%22Accounts_OAuth_Twitter%22%2C%22Accounts_OAuth_Gitlab%22%2C%22API_Gitlab_URL%22%2C%22Accounts_OAuth_Wordpress%22%2C%22API_Wordpress_URL%22%2C%22Site_Url%22%2C%22Site_Name%22%2C%22Assets_favicon_512%22%2C%22Assets_favicon_192%22%2C%22UI_Use_Real_Name%22%2C%22UI_Allow_room_names_with_special_chars%22%2C%22Favorite_Rooms%22%2C%22FileUpload_Storage_Type%22%2C%22FileUpload_MaxFileSize%22%2C%22FileUpload_MediaTypeWhiteList%22%2C%22Message_HideType_uj%22%2C%22Message_HideType_ul%22%2C%22Message_HideType_au%22%2C%22Message_HideType_mute_unmute%22%2C%22Message_HideType_ru%22%2C%22Message_AllowDeleting%22%2C%22Message_AllowEditing%22%2C%22Message_AllowPinning%22%2C%22Message_AllowStarring%22%2C%22Message_ShowDeletedStatus%22%2C%22Message_ShowEditedStatus%22%2C%22Assets_tile_310_wide%22%2C%22Store_Last_Message%22%2C%22Message_Read_Receipt_Enabled%22%2C%22Message_Read_Receipt_Store_Users%22%5D%7D%7D&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=63e2eac3-39dc-4a74-b0b0-77d27511a3e4&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 114
2018-08-28 05:48:28 b.b.b.b GET /api/v1/settings.oauth X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=fc83dc1a-0c89-4cba-8311-2b975356d031&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 88
2018-08-28 05:48:40 b.b.b.b POST /api/v1/login X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=feb80b61-bf55-4184-92d5-b786dee44c1d&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 342
2018-08-28 05:48:40 b.b.b.b GET /api/v1/me X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=b15adb45-bb6d-448b-93ab-73f992fd3865&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 88
2018-08-28 05:48:40 b.b.b.b POST /api/v1/push.token X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=8cb8b1c9-9949-4d50-a1d9-e2269f0281d0&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 83
2018-08-28 05:48:40 b.b.b.b GET /api/v1/settings.public count=0&fields=%7B%22type%22%3A%201%7D&query=%7B%22_id%22%3A%20%7B%22%24in%22%3A%20%5B%22LDAP_Enable%22%2C%22CAS_enabled%22%2C%22CAS_login_url%22%2C%22Accounts_RegistrationForm%22%2C%22Accounts_ShowFormLogin%22%2C%22Accounts_PasswordReset%22%2C%22Accounts_CustomFields%22%2C%22Accounts_OAuth_Google%22%2C%22Accounts_OAuth_Facebook%22%2C%22Accounts_OAuth_Github%22%2C%22Accounts_OAuth_Linkedin%22%2C%22Accounts_OAuth_Meteor%22%2C%22Accounts_OAuth_Twitter%22%2C%22Accounts_OAuth_Gitlab%22%2C%22API_Gitlab_URL%22%2C%22Accounts_OAuth_Wordpress%22%2C%22API_Wordpress_URL%22%2C%22Site_Url%22%2C%22Site_Name%22%2C%22Assets_favicon_512%22%2C%22Assets_favicon_192%22%2C%22UI_Use_Real_Name%22%2C%22UI_Allow_room_names_with_special_chars%22%2C%22Favorite_Rooms%22%2C%22FileUpload_Storage_Type%22%2C%22FileUpload_MaxFileSize%22%2C%22FileUpload_MediaTypeWhiteList%22%2C%22Message_HideType_uj%22%2C%22Message_HideType_ul%22%2C%22Message_HideType_au%22%2C%22Message_HideType_mute_unmute%22%2C%22Message_HideType_ru%22%2C%22Message_AllowDeleting%22%2C%22Message_AllowEditing%22%2C%22Message_AllowPinning%22%2C%22Message_AllowStarring%22%2C%22Message_ShowDeletedStatus%22%2C%22Message_ShowEditedStatus%22%2C%22Assets_tile_310_wide%22%2C%22Store_Last_Message%22%2C%22Message_Read_Receipt_Enabled%22%2C%22Message_Read_Receipt_Store_Users%22%5D%7D%7D&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=bf4ac9d5-342f-42bb-b0cb-332e7f024c3f&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 73
2018-08-28 05:48:40 b.b.b.b POST /api/v1/push.token X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=63f6aeb8-f5b6-4b2c-a808-ac21b3950cd0&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 80
2018-08-28 05:48:40 b.b.b.b GET /api/v1/me X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=e27b1f66-870d-44b4-88b2-8f052af0e28b&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 95
2018-08-28 05:48:40 b.b.b.b GET /api/info X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=0003aa17-7000-4678-82e9-1dd1e1fe3db7&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 105
2018-08-28 05:48:40 b.b.b.b GET /api/v1/subscriptions.get updatedSince=1970-01-01T00%3A00%3A00.000Z&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=77459bf7-6aa8-4f2c-8c4e-f0ba09d1089b&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 79
2018-08-28 05:48:40 b.b.b.b GET /api/v1/rooms.get updatedSince=1970-01-01T00%3A00%3A00.000Z&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=fc552b25-6861-44d7-90e3-b0f9f3b32f32&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+Android+6.0;+v2.5.1+(2036) - 200 0 0 88
the ios app log:
2018-08-28 05:30:27 b.b.b.b GET /api/v1/info X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=9f4294f3-5edc-4219-8852-34e5bcf5014d&SERVER-STATUS=200 443 - a.a.a.a RC+Mobile;+iOS+10.3.3;+v3.0.4+(206) - 200 0 0 70 2018-08-28 05:30:27 b.b.b.b GET /websocket X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=0bcf31d5-69ae-48a9-b760-f998de162f15&SERVER-STATUS=101 443 - a.a.a.a RC+Mobile;+iOS+10.3.3;+v3.0.4+(206) - 502 5 12152 11

the pc browser log:

2018-08-28 06:10:47 b.b.b.b GET /favicon.ico X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=9ea3dea6-bcd7-4837-916a-ca7e100b4921&SERVER-STATUS=200 443 - b.b.b.b Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 https://tttttt/websocket 200 0 0 10
2018-08-28 06:11:23 b.b.b.b GET /websocket X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=d51efd66-8b6a-42fa-be67-dffe7fc91c8e&SERVER-STATUS=400 443 - a.a.a.a Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 400 0 0 8

the web.conf:

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="ReverseProxyInboundRule1" stopProcessing="false"><match url="(.*)" /><action type="Rewrite" url="http://landocker.wg:3000/{R:1}" /></rule></rules></rewrite></system.webServer></configuration>

One External IP, Two IIS Applications Hosted on Different Servers, Both Using Port 80?

$
0
0
<div>

Hello.

Below is my scenario:

   × only one external IP available;

   × two web applications hosted on different servers: server1 and server2

   × server1.domain.com is accessible internally and externally (port 80);

   × server2.domain.com is accessible only internally (port 80);

   × both applications use IIS as a gateway: user types the URL, our IIS login site validates its credentials and redirects the user to the application itself;

   × we do not want our users having to type the :PORT in the URL, and;

   × we want both applications to be externally visible using 80 port and IIS to redirect the traffic to each server (1 or 2) according to which URL user typed: server1.domain.com redirects the traffic to server1 and it servers the user,server2.domain.com redirects the traffic to server2 and it serves the user:both using port 80 of our unique external IP available.

Is this achieavable? What should I do and in which server?

Thanks in advance.

</div>

request routing scenario is this possible?

$
0
0

This describes a test situation that i would like to get working and apply to my internal website.

I want my local IIS server to route all information to microsoft.com (just an example) and show a working website running onhttp://127.0.0.1/test that shows the microsoft page. I used the wizard to create a proxy rule on the test directory in my default website in IIS. this is the webconfig it created, but what i want doesn't work, so is this even possible to do? In the end i want to have three virtual directory's that proxy to a diffrent internal iis webservers. If this is not possible using IIS, Are there appliances out there that make this possible?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://www.microsoft.com/{R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
<match filterByTags="A, Form, Img" pattern="^http(s)?://www.microsoft.com/(.*)" />
<action type="Rewrite" value="http{R:1}://127.0.0.1/{R:2}" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>

TLS 1.2 issues on ARR

$
0
0

Hi,

I have ARR setup on Server 2016 with 2x Server 2008 web servers in the webfarm. This setup has been working fine for the last year. We are expecting an influx of traffic on our websites for the next 2 months so have decided to add 2 more web servers in the webfarm. Herewith the problem... I added 2x Server 2016 web servers to the webfarm and when the connection is routed to one of these 2 servers I get the following error:


HTTP Error 502.3 - Bad Gateway

The connection with the server was terminated abnormally

Most likely causes:
•The CGI application did not return a valid set of HTTP errors.
•A server acting as a proxy or gateway was unable to process the request due to an error in a parent gateway.

On the ARR server I see the following error in the System log:

Schannel: A fatal error occurred while creating a TLS client credential. The internal error is 10013

I have enabled Schannel debug logging and can see that when ARR connects to one of the server 2008 web servers it negotiates to communicate using TLS 1.0 but when it connects to one of the server 2016 web servers it fails the negotiation.

If I completely disable TLS 1.0 (which we plan to do after this busy period), the connections to both server 2008 and server 2016 web servers fail.

TLS 1.0 is currently enabled on all web servers and the websites work if I connect to them directly from the ARR server bypassing ARR.

I have come to the conclusion that the problem lies with ARR itself not supporting using TLS 1.2.

I have tried the  following solutions on a test environment and still dont have a working solution.

- Confirm all servers are fully up to date and we are using the latest version of ARR 3.0

  • - Set different combinations using IISCrypto tool, including completely enabling all protocols and ciphers.
  • - Set read permission for the "NETWORK SERVICE" on the C:\Program Data\Microsoft\Crypto\RSA\MachineKeys folder
  • - Set the default protocol for WINHTTP using the Internet Settings\WinHttp\DefaultSecureProtocols registry key to use TLS 1.2 for both 32 and 64 bit.
  • - Set the default protocol for DotNet using the .NETFramework\v4.0.30319\SchUseStrongCrypto to use TLS 1.2 for both 32 and 64 bit.
  • - Enabled the FIPS trusted algorithm local security policy.

Any other ideas or info?

Regards

Carl

HTTP 400 Errors - Using Rewrite Rule to Redirect the Request via IIS Server Calling Proxy Application

$
0
0

I am having a problem when I use ARR in IIS to redirect the traffic when I get longer URLs from Proxy Application. It is throwing HTTP 400 Bad Request when longer URLs are coming up (>~ 260 Characters). I have tried to increase the size of UrlSegmentMaxLength in Registry editor however it is still creating the problem and some of the requests which are crossing >260 characters are not working (This is actually long URL and not a Query String Parameters).

https://support.microsoft.com/en-us/help/820129/http-sys-registry-settings-for-windows

We tried to restart IIS as well as HTTP service along with modifying maxUrlLength, maxQueryStringLength, MaxFieldLength and MaxRequestBytes as a workaround however we are still facing a same 400 errors. We cannot convert our proxy application to reduce the URL size or convert into Post request. 

Is there any solution for this problem to override URL limits in IIS apart from what I have already tried?  


Possibility to Export ARR Rules From IIS 7.5 to 8.5

$
0
0

Hi All,

Is it possible to export IIS ARR Rules from IIS 7.5 (2008 R2) to IIS 8.5 (2012 R2) new, different server? Not direct upgrade the server OS. We have IIS ARR rules for exchange, sfb mobility web reverse proxy, and other custom pool for web app. Thanks for your help.

Rewriting across applications within a single site

$
0
0

Hi!

So here's my situation:

I'd like to do a simple rewrite, essentially from domain.com/vanitysuffix/version to domain.com/realsuffix/version, and I'd like to do that without having to create a new site. The problem I'm running into is that the root of the site is in one application pool, and the realsuffix directory is in a different application pool. I've installed ARR and enabled the proxy, but that doesn't seemed to have fixed the situation at all. I've been following this guide, and adapting the rewrite rules from their, and I'm still running into the exact same errors I encountered prior to setting up ARR. 

Any suggestions?

Load Balancer L4 (keepalived) + ARR Farm

$
0
0

Good afternoon, under what circumstances do you consider that ARR does not respect the established timeout time in your proxy settings?
It turns out that I am generating problems when I enter a requirement through an L4 balancer whose destination is an ARR farm, request
them not only if one sees the process they are hung adding time but also do not fall by the time out specified in the proxy configuration .
If the requirement enters directly to one of the ARRs of the farm, the behavior is perfect.
Can you think of something?

Thank you so much.

regards

Application Request Routing

$
0
0

EnterpriseLookupValueManagement is a virtual directory below the root directory HealthPlaNETAdminServices-Token-CI we are using two differnet application pool for HealthPlaNETAdminServices-Token-CI and EnterpriseLookupValueManagement , we use a URL rewrite to redirect the site

http://winhplnstst135:8011/HealthPlaNETAdminServices-Token-CI/EnterpriseLookupValueManagement/documentation/

to

http://winhplnstst135:8011/EnterpriseLookupValueManagement/documentation/


We get a 403 - Forbidden: Access is denied.

How to use ARR across application pools for this scenario.

URL Rewrite only working with IP address

$
0
0

Hi everyone,

I'm quite unexperienced with IIS and any help or tips would be great to fix my problem.

I'm trying to setup in a lab environment a reverse proxy in IIS with URL rewrite and SSL offloading to a backend web server.

I've followed this post which describes the setup I'm aiming:

https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/

My case:

Server 1: Frontend IIS URL : https://frontendurl.test.local - 192.168.0.101

Server 2: Backend URL: http://backendurl.test.local:8888 - 192.168.0.102

A self signed certificate (based on webserver template -> server authentication) with common namehttps://frontendurl.test.local has been bind to the reverse proxy site.

Problem I'm facing is that it is only working when I connect from Server 1 through the IP address https://192.168.0.1. When I try to connect throughhttps://frontendurl.test.local I'm gettin an error "This Page can't be displayed" and nothing more happens.

DNS entries are in place and resolving.

What am I missing here?

Thank you in advance,

Thomas

Viewing all 739 articles
Browse latest View live


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