Category Archives: Návody

Statický web s HTTPS

Některé své weby hostuju na platformě Amazon S3. Buckety umožňují nastavit možnost „website“, kdy posílají definovanou stránku (index.html), a to bohatě stačí pro spoustu webů, které buď backend nepotřebují, nebo jej řeší jinak. Jediné, co mě mrzelo, bylo to, že S3 neumí website přes HTTPS.

Řešení existuje, a jmenuje se CloudFront. Je to CDN od Amazonu, která si bere soubory z S3 a šíří je po světě. CloudFront už umí nastavit HTTPS, a Amazon má dokonce i nástroj na správu certifikátů.

Praktický postup (především pro Michala Bláhu, který se mě na to ptal): Mám web www.ide80.com, hostovaný právě na S3, a chtěl bych jej na HTTPS.

Krok 1: Pomocí AWS Certificate Manageru si vygeneruju certifikát. Nejdřív si ale v horním menu přepnu region na „N. Virginia“

Potom dám Request a Certificate a vyplním doménu:

Potvrdím, znovu potvrdím, a za pár okamžiků přijde mail s potvrzovacím odkazem. Kliknu, dám Approve, a mám certifikát hotový.

Krok 2: nastavím CloudFront. Ve správci CloudFront nastavím Create Distribution, a z možností Web / RTMP vyberu Web a tam kliknu na Get Started.

Ve formuláři vyplním v sekci Origin položku Origin Domain Name – stačí kliknout a vybrat S3 bucket. Ve Viewer Protocol Policy si později nastavím „Redirect HTTP to HTTPS“, zatím nechám povolené oba protokoly, než ověřím, že HTTPS funguje bez problémů. V Distribution Settings do položky Alternate Domain Names zadám „www.ide80.com“ a hned pod tím zvolím „Custom SSL Certificate“ a vyberu ten odpovídající. Ještě o kousek níž do kolonky „Default Root Object“ napíšu „index.html“. Všechno ostatní nechám jak bylo, a kliknu na Create.

Krok 3: vrátím se na seznam CloudFront distributions, vyberu tu svoji, a v náhledu detailů hledám Domain Name – má tvar hchkrdtn125487.cloudfront.net. To je moje magická hodnota, na kterou nastavím CNAME pro mou doménu.

Pak už jen nechám probublat změny, zhruba 20 minut mi to trvalo, a vše funguje.

To je vše, přátelé…

Oprava pluginu pro Sublime Text 2

Sublime Text 2 je výtečný textový editor pro vývojáře. Je skvělé, že k němu máme tuny pluginů; horší je, když plugin nefunguje a hlásí mysteriózní chybu [Decode error – output not utf-8]. Čím to je a co s tím?

Na tenhle problém jsem narazil asi u tří pluginů (používám Sublime pro Windows, pro pořádek, ve vašich systémech to může mít příčinu jinou). U dvou jsem to neřešil, ale u toho třetího (LiveScript) už mi to nedalo. Když googlíte, najdete poměrně užitečnou radu, totiž že máte někam napsat kódování, které bude jiné než UTF-8. Hmmm…

Stáhnul jsem plugin LiveScript, napsal skript v LiveScriptu, uložil ho jako soubor s příponou .ls a stisknul F7. Objevil se chybový výpis, kterému vévodila výše uvedená chyba s utf-8. Co teď?

Nejprve je třeba zjistit, v jakém kódování váš systém funguje. Spusťte si příkazový řádek a zadejte „chcp“. Vypíše vám aktivní stránku. Mně vypsal „852“. (Takže ne 1250, jak jsem tipoval…)

Najděte si sublime-build soubor u daného modulu. Já ho našel v packages/LiveScript/Commands/CoffeeScript.sublime-build (ano, CoffeeScript, není to překlep). Na poslední řádek s parametryjsem doplnil:

a spustil znovu (F7). Chyba se změnila! Teď jsem se dozvěděl: [Error 2] Syst*m nb7pf uvedenž-čš* ubor.

Aha! „File not found“, napsaný česky, v prapodivném kódování a nesmyslně zkonvertovaný! Skvělé, že to vím – ale jaký soubor nebyl nalezen?

Koukám do toho sublime-build a dumám… Je tam toto:

To kódování jsem tam dopisoval já. Co tam máme dál? Tak, šachuje se s path podle zvyklostí na *nixu, to by asibylo dobré vyhodit. Pryč s tím! Vyhodil jsem, a výsledek stále stejný. Divné – spouští se příkaz „livescript“, je v cestě, z příkazového řádku funguje bez problémů… Mnojo. Jenže Sublime nepouští příkazový řádek, který najde vhodný soubor s příponou .exe, .com, .bat, .cmd, ale volá ho rovnou! Koukám se do adresáře npm a vidím, že mám k dispozici „livescript“ a „livescript.cmd“. Takže doplním do sublime-build to „.cmd“ – a výsledek? Funguje to!

Výsledný .sublime-build, který funguje na Windows, je tedy:

Třeba vám ten postup někdy k něčemu bude.

banner

Copyright © 2017. Powered by WordPress & Romangie Theme.

banner