IIS beállítások öröklése, de honnan?

Az IIS beállítások öröklése nagyon praktikus szolgáltatás, de a gyakorlatban hasonlóan meg tudja viccelni az üzemeltetőket, mint az NTFS jogosultságok öröklése. Nemrég például egy webalkalmazás beállításait kellett módosítanom, ezért kiválasztottam az adott mappát az IIS Manager bal oldali fájában:

IIS_Manager_Connections

A jobb oldali panelen pedig kiválasztottam az IPv4 Address and Domain Restrictions modult és máris az alábbi kép tárolt elém:

IIS_Manager_IP_restrictions

Természetesen egy olyan beállítást kellett volna módosítanom, ami mellett az szerepelt, hogy Inherited, azaz öröklött. Jó, ha öröklött, hát legyen öröklött, de azért mégis csak jó lenne tudni, hogy honnan? Természetesen a szülőtől. Ezért elkezdtem az IIS Managerben felfelé mászni a fában és minden szinten megnéztem a jobb oldalon ugyanezt a modult. Először a mappa szintjén, aztán a webhely szintjén, majd végül szerver szintjén, és láss csodát: sehol semmi! Hogy lehet, hogy lefolyik egy beállítás, de felső szinten mégsem találom?

Hát úgy, hogy az IIS Manager füllent, nem is kicsit. A jobb oldali panelen azok a beállítások látszódnak, amik az adott szintre vonatkoznak, nem pedig azok, amiket ott teszünk meg. Ezért látok egy öröklött beállítást egy alsóbb szinten is, mert az ott érvényesül. Többnyire persze felsőbb szinten is látszik, mert arra a szülő csomópontra és az összes gyerekére vonatkozik. Csakhogy felsőbb szinten bármelyik .config fájlban meg lehet mondani, hogy egy adott beállítás nem az aktuális szintre, hanem valamelyik alsóbb szintre vonatkozik, adott esetben éppen az applicationHost.config fájlban így:

<location path="AaitPortal/Accounts">
  <system.webServer>
    <security>
      <ipSecurity allowUnlisted="false">
        <add ipAddress="127.0.0.1" allowed="true" />
        <add ipAddress="152.xxx.yyy.zzz"
          subnetMask="255.255.252.0" allowed="true" />
      </ipSecurity>
    </security>
  </system.webServer>
</location>

Így van, az a bizonyos location elem. Mivel ez csak az AaitPortal/Accounts mappára vonatkozik, ezért csak ott fog megjelenni ez a beállítás, és mivel az applicationHost.config fájltól száll lefelé, ezért nyilvánvalóan inherited.

Na de akkor hol lehet átállítani?

Persze ha nekiesek közvetlenül a konfig fájlnak, akkor nincs probléma. De ha éppen távolról állítgatom a szervert, akkor nincs már lehetőség, mint az IIS Manager. Szerencsére ott is van megoldás, úgy hívják hogy Configuration Editor (katt a nagyobb képért):

IIS_Manager_Configuration_Editor

Nekem az a szimpatikus ebben a modulban, hogy sokkal alacsonyabb szinten mutatja, hogy milyen beállítások vannak, így például olyan opciókat is meg tud mutatni, amik az IIS Manager funkció specifikus GUI-jára ki sincsenek vezetve. Sőt, a From mezőben azt is megmondhatom, hogy egy beállítást melyik szinten lévő konfigurációs fájlba szeretnék beírni.

A másik nagyon remek dolog a jobb oldali panelen található Search Configuration opció (katt a nagyobb képért):

IIS_Manager_Configuration_Search

Egyrészt itt tényleg van keresési lehetőség, másrészt közvetlenül látszik az öröklési lánc és hogy hol mi van beállítva. Tehát nem az, hogy mire vonatkozik, hanem hogy azon a szinten pontosan mi van a konfig fájlban!

Ha nagyon nem találok egy beállítást, akkor előbb-utóbb mindig itt kötök ki, mert a keresés és a szűrt megjelenítés mindent azonnal átláthatóvá tesz.

Jó keresgélést!

 

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s