I have a .Net/JSP application running on IIS7.5 & JBoss 4.05. JBoss communicates with IIS via web services through GSOAP internally and has an external web site. The primary user interface is accessed from IIS. I have implemented ARR 2.5 on IIS7.5 as a load balancer for the IIS user interface and internal calls between the two web platforms, JBoss is a stand alone server. Following shows webFarm, diskCahce and rewrite configuration:
<webFarms>
<webFarm name="stgitsm.serena.com" enabled="true">
<server address="10.122.156.116" enabled="true">
<applicationRequestRouting weight="100" />
</server>
<server address="10.122.156.117" enabled="true">
<applicationRequestRouting weight="100" />
</server>
<applicationRequestRouting>
<loadBalancing algorithm="WeightedTotalTraffic" />
<affinity useCookie="true" />
<protocol>
<cache enabled="false" validationInterval="01:40:00" />
</protocol>
</applicationRequestRouting>
</webFarm>
<applicationRequestRouting>
<hostAffinityProviderList>
<add name="Microsoft.Web.Arr.HostNameRoundRobin" />
<add name="Microsoft.Web.Arr.HostNameMemory" />
</hostAffinityProviderList>
</applicationRequestRouting>
</webFarms>
<diskCache>
<driveLocation path="C:\ARR_Cache" maxUsage="2" />
<compression>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
</compression>
</diskCache>
<rewrite>
<globalRules>
<rule name="ARR_CacheControl_0468f3da-a29f-42a1-a176-49c929a16eaa" enabled="true" patternSyntax="Wildcard">
<match url="*.css" />
<serverVariables>
<set name="ARR_CACHE_CONTROL_OVERRIDE" value="1,max-age=28800" />
</serverVariables>
</rule>
<rule name="ARR_CacheControl_0815a267-ae07-4ce6-8029-a44037680648" enabled="true" patternSyntax="Wildcard">
<match url="*.js" />
<serverVariables>
<set name="ARR_CACHE_CONTROL_OVERRIDE" value="1,max-age=28800" />
</serverVariables>
</rule>
<rule name="ARR_CacheControl_41c08262-f68b-4f75-81a5-2140613b2800" enabled="true" patternSyntax="Wildcard">
<match url="*.jpg" />
<serverVariables>
<set name="ARR_CACHE_CONTROL_OVERRIDE" value="1,max-age=28800" />
</serverVariables>
</rule>
<rule name="ARR_stgitsm.serena.com_loadbalance_SSL" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTPS}" pattern="on" />
</conditions>
<action type="Rewrite" url="https://stgitsm.serena.com/{R:0}" />
</rule>
<rule name="ARR_stgitsm.serena.com_loadbalance" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://stgitsm.serena.com/{R:0}" />
<conditions>
</conditions>
</rule>
</globalRules>
<rewriteMaps>
<rewriteMap name="ARR_aeinternal.serenaondemand.com" />
</rewriteMaps>
</rewrite>
I have two issues:
- When disk caching is enabled .css files are opened in Notepad instead of the browser.
- I get HTTP 502 errors the first few times the user interfaces is accessed after a reboot or a few hours of no use, as if ARR is not able to access the server farm. After a few attempts (2-10) the pages are loaded and it will be stable if the site is activly in use. I can deal with this but the internal communications between IIS and JBoss is another story.
So what I am trying to solve is:
- How do I configure ARR to handle .css (or any other file type) correctly?
- What cause the 502 errors?
I do have failed request tracing enabled and can make those available if requested.
Any assistance and/or insight is greatly appreciated,
Cheers,
Fred