Statikus weboldal elhelyezése Azure BLOB-ban

Elnézve az Azure árakat, egy weboldalnyi adat tárolása az azure storageben gyakorlatilag ingyen van. Ha ehhez hozzáveszem, hogy az azure storage tartalma HTTP-n keresztül elérhető, és hogy nem kell aggódni a rendelkezésreállás és a sávszélesség miatt, akkor egyből arra gondolok, hogy statikus weboldalakat azure storageba tenni jó ötlet. Nézzük mik a lehetséges buktatók, és megoldásaik.

Eddig két gondba ütköztem bele:

  • az azure storageba tett dolgok URL-je igen-igen ronda. Valami ilyesmi: krixkrax.blob.core.windows.net/index.html. Ezt megjegyezni nehéz és nem SEO barát.
  • például chromeból megnyitva a fenti URL-t, a böngésző nem megjeleníti, hanem letölti az index.html-t.

Értelmes URL azure storagehoz

A legjobb megoldás, amit eddig találtam, hogy egy szép és saját domain (például www.enyem.hu) CNAME rekordját ráállítom a ronda krixkrax.blob.core.windows.net-re.

Innentől kezdve a böngészőbe beírt http://www.enyem.hu kérések a krixkrax.blob.core.windows.net-re futnak be. Viszont onnan semmilyen értelmes választ nem kapunk. Ennek oka, hogy az azure csak az általa ellenőrzött szép domain – csúnya storage url összerendeléseket hajlandó figyelembe venni. Egyetlen dolgot tehetünk: jelentkezzünk be az azure admin felületre, és adjuk meg a storagenál, hogy mostantól a www.enyem.hu urlre érkező kéréseket is szolgálja ki. Erre az azure csak akkor lesz hajlandó, ha bizonyítjuk, hogy mienk a domain: ad egy random.www.enyem.hu domain nevet, és megkér, hogy ennek a CNAME rekordját állítsuk verify.azure.com-ra. Tegyük meg, és az azure adminfelületen nyomjuk meg a ‘Validate’ gombot.

Ezután a www.enyem.hu a krixkrax.blob.core.windows.net-ről szolgálódik ki.

A weblapok nem megjelennek, hanem letöltődnek gond

Ennek oka, az, hogy a azure storageban a default MIME type ‘application/octet-stream’. Ezért azok a böngészők, akik nem kiterjesztés, hanem MIME type alapján döntenek, az ilyen weboldalakat le akarják tölteni, ahelyett, hogy megjelenítenék. A megoldás nagyon egyszerű: állítsuk az index.html MIME type-ját ‘text/html’-re. Azt, hogy ezt ki hogyan csinálja, az eszközfüggő. Én a CloudXplorert használom:

azure-storage-mime-type-1 azure-storage-mime-type-2



Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2011.01.05. 10:07:31 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Nagy fájlok feltöltése újabb IIS-ekre

    Dávid Zoltán Már volt szó a nagy fájlok feltöltése körüli problémákról egy korábbi blogbejegyzésben. Ezek egyike, hogy az ASP.NET korlátozhatja a POST típusú kérések méretét. Erre akkoriban sikerült megnyugtató választ találni. Most, hogy átálltunk IIS 7.5-re kiderült, hogy ez nem elég: a webszerverbe épített request filtering is kiszűri a túl hosszú kéréseket (többek között). Szerencsére ennek működése is konfigurálható a web.configban. Figyelni csak arra kell, hogy míg a korábbi ASP.NET beállítást kilobyte-ban kell megadni, addig az újabb IIS beállítást byteban. Például max. 55 megabyte méretű kérésekhez ez kell az IIS-nek. Tovább »
  • Aszinkron kérés leállítása

    Balássy György (MS RD, ASP.NET MVP, MCTS) Mint bármely HTTP kérésnél, AJAX esetén is előfordulhat, hogy a válasz lassan érkezik meg a szervertől. A felhasználó türelmetlen lesz, de nem tudja, mihez nyúljon. Mivel a böngésző Stop gombját feleslegesen nyomogatja, a webfejlesztő feladata marad, hogy az AJAX-os kérés leállítására lehetőséget adjon. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások