IIS 7 and Above
Web Farm Framework
IP address + Bindings + IIS + FTP sites
Last post Apr 26, 2012 05:27 PM by email@example.com
Apr 23, 2012 09:57 PMfirstname.lastname@example.org|LINK
In this configuration:
- WebFarmController = WFF1 server, IP = 10.9.1.1
- Primary Server = SERVER1 server, IP = 10.9.1.2
- Secondary Server = SERVER2 server, IP = 10.9.1.3
Primary and secondary servers both have one IIS address, bound to each server's IP address:
- Primary server IIS site = SITE1, IP binding = 10.9.1.2
- Secondary server IIS site = SITE1, IP binding = 10.9.1.2 (the IIS site on the secondary server was created by the WFF1 primary/secondary replication process)
All traffice for http://site1.mydomain.com is routed to the WFF1 server from an Application Request Router server in the DMZ (ARR1 = 10.1.2.1 or ARR2 = 10.1.2.2). The ARR1/ARR2 servers are a separate Web Farm in the
DMZ, with the web fram controller on ARR1, and ARR1 Primary and ARR2 = Secondary. URL Rewrite rules on ARR1 (replicated to ARR2) grab any traffic for
http://site1.mydomain.com and route it to SERVER1 or SERVER 2 IIS servers (they are in a protected DMZ area), which is where the site's content lives.
With all that, the binding IP addresses for the IIS site on SERVER2 (IP address of the server is 10.9.1.2) are being replicated from SERVER1's binding (the ip address of SERVER1 = 10.9.1.1). So the bindings's IP addresses for SERVER1 and SERVER2 IIS sites
both say 10.9.1.1.
Is there a problem with this configuration? Is the fact that the SERVER2 IIS site has the IP address of SERVER1 cause a problem?
Apr 24, 2012 10:31 AM|nastymatt|LINK
Would it not be better to split the ip's out so they have their own ip's and then use nlb? That way you will be able to troubleshoot and manage easier.
Apr 24, 2012 04:52 PMemail@example.com|LINK
The two IIS servers (SERVER1 and SERVER2) have different IP addresses bound to the network card. And the IIS site on SERVER1 is bound to IP address of SERVER1. Then IIS site on SERVER2 is bound to IP address of SERVER1.
The problem is that when a change is made to the IIS Site on SERVER1, the IIS site on SERVER2 gets its IP address changed to the SERVER1 IIS site IP address (the IP address of SERVER1).
The server farm of SERVER1 (primary) and SERVER2 (secondary) has load balancing enabled.
My question is whether the sync-change that causes the IP address the IIS site on SERVER1 to get copied over to the IIS site on SERVER2 is going to cause a problem with any access of the SERVER2 IIS site.
And I think the same thing happens if you have an IIS FTP site in a server farm; the IP address assigned to the FTP site on SERVER2 (which should have the IP address of SERVER2) gets changed to the IP address assigned to SERVER1 FTP site.
Apr 25, 2012 09:32 AM|nastymatt|LINK
I am a little confused: " And the IIS site on SERVER1 is bound to IP address of SERVER1.
Then IIS site on SERVER2 is bound to IP address of SERVER1.
The problem is that when a change is made to the IIS Site on SERVER1, the IIS site on SERVER2
gets its IP address changed to the SERVER1 IIS site IP address (the IP address of SERVER1).
So 2 is bound to IP address of 1 but then you say it's gets changed to IP address of 1?? Am I reading this wrong?
Apr 25, 2012 11:24 PMfirstname.lastname@example.org|LINK
Initial setup of IP address bindings for a IIS site:
- SERVER1 = 10.9.1.2
- SERVER2 = 10.9.1.3
Then make a change to any IIS site setting on SERVER1. Then the IIS sites IP address binding change to
- SERVER 1 = 10.9.1.2
- SERVER2 = 10.9.1.2 <----IP address binding changes
Shouldn't SERVER1 and SERVER2 IIS Sites IP address binding not change? (Note that the IP address of the NIC is not changed, only the IIS site's binding.)
Apr 26, 2012 10:56 AM|nastymatt|LINK
Glad that has been "re-clarified".
You need to include a skip in application Host.config:
<skip name="skipBindings" skipDirective="attributes.protocol=http" />
In the Webfarm section.
Apr 26, 2012 05:27 PMemail@example.com|LINK
To further clarify, this is the change that was made (after several attempts), and appears to be working (includes some 'sanitation' of values): (apologize for the formatting)
<platformProvision syncPlatformFromPrimary="true" /
<applicationProvision offlineWhileSync="false" syncWebServerFromPrimary="true" periodicSync="00:00:30">
And if FTP site is on the two servers, then I assume an additional skipDirective would be added for that protocol.