7

We have a multi-tenant web application. I recently created a couple of blank websites in our production environment which acts as a reverse proxy using IIS 7.5 and ARR 3.0 (Applicatin Request Routing)

the idea was this:

(A) www.product.com -> rewrite to -> www1.product.com

(B) reports.product.com -> rewrite to -> reports1.product.com

  • I enabled the two proxy websites and disabled disk caching.
  • memory cache duration was default 60.
  • Query string support was "ignore query string"
  • inbound rewrite rules on proxy for website A from pattern (.*) to http://www1.product.com/{R:1}
  • inbound rewrite rules on proxy for website B from pattern (.*) to http://reports1.product.com/{R:1}

When deploying this I realized that www.product.com behaved as expected, but reports.product.com suddenly returned cached responses across tenants, and I quickly turned it off.

I checked the IIS logs on the proxy server on reports.product.com and all querystrings had the X-ARR-CACHE-HIT=0 which tells me that ARR didn't cache, but it must have. (not one entry had the value 1)

My questions is:

  1. I know I f*** up and forgetting setting the memory cache duration to 0, but will setting memory cache duration to 0 COMPLETELY disable caching on the proxy server? I don't want any caching to be done at all.
  2. Is the setting "Query string support" related to disk cache only? or is it affecting ARR's memory cache also?
  3. Why isn't there an option to disable memory cache?
  4. Why did I experience on one website only? The settings were the same on proxies for both website A and B (website B has sessionState=InProc, but there were only one instance, no server farm)

thanks in advance,

Martin
  • 1,521
  • 3
  • 18
  • 35

0 Answers0