{"id":536,"date":"2020-11-12T17:57:00","date_gmt":"2020-11-12T16:57:00","guid":{"rendered":"http:\/\/honza.paws.cz\/?p=536"},"modified":"2020-11-15T11:27:57","modified_gmt":"2020-11-15T10:27:57","slug":"https-na-lokalni-siti","status":"publish","type":"post","link":"http:\/\/honza.paws.cz\/?p=536","title":{"rendered":"HTTPS na lok\u00e1ln\u00ed s\u00edti"},"content":{"rendered":"\n<p>V\u017edycky jsem cht\u011bl zabr\u00e1nit vyhozov\u00e1n\u00ed zka\u017een\u00e9ho j\u00eddla a u\u017e p\u0159ed dlouh\u00fdmi lety jsem m\u011bl rozpracovanou datab\u00e1zi s desktopov\u00fdm programem na \u010dten\u00ed \u010d\u00e1rov\u00fdch k\u00f3d\u016f, kter\u00e1 by mi v tom pomohla. Bohu\u017eel jsme to nikdy nedot\u00e1hl do produk\u010dn\u00edho stavu a tak jsem byl moc r\u00e1d, kdy\u017e jsem na\u0161el PHP aplikaci nazvanou grocy, kter\u00e1 d\u011bl\u00e1 v\u0161echno co jsem zam\u00fd\u0161lel a je\u0161t\u011b hodn\u011b dal\u0161\u00edho.<\/p>\n\n\n\n<p>Tolik k motivaci. grocy samoz\u0159ejm\u011b funguje bez https. Apache web server b\u011b\u017e\u00ed na prvn\u00edm RaspberryPi model B a v prohl\u00ed\u017ee\u010di by to mohlo l\u00edtat rychleji, ale nem\u016f\u017eu si prakticky v\u016fbec st\u011b\u017eovat. Web server nen\u00ed vystaven do internetu, tak\u017ee je dostupn\u00fd jen z vnit\u0159n\u00ed s\u00edt\u011b.<\/p>\n\n\n\n<p>Aby Chrome na Androidu povolil pou\u017e\u00edv\u00e1n\u00ed kamery pro \u010dten\u00ed \u010d\u00e1rov\u00fdch k\u00f3d\u016f, je t\u0159eba k serveru p\u0159istupovat p\u0159es https. To se d\u00e1 vy\u0159e\u0161it sebou podepsan\u00fdm certifik\u00e1tem. P\u0159i p\u0159\u00edstupu ale mus\u00ed u\u017eivatel potvrdit vyj\u00edmku, co\u017e nen\u00ed nic p\u011bkn\u00e9ho.<\/p>\n\n\n\n<p>Pak je tady samoz\u0159ejm\u011b Let&#8217;s Encrypt. Takov\u00fd certifik\u00e1t pou\u017e\u00edv\u00e1m na internetu kv\u016fli pot\u0159eb\u011b p\u0159i rozes\u00edl\u00e1n\u00ed notifikac\u00ed. Jen\u017ee takov\u00fd certifik\u00e1t je v\u00e1zan\u00fd na dom\u00e9nov\u00e9 jm\u00e9no. RaspberryPi, ale \u017e\u00e1dn\u00e9 nem\u00e1, chod\u00edm tam p\u0159es jeho hostname.  To m\u00e1 elegantn\u00ed \u0159e\u0161en\u00ed. IP adresa jako IP adresa. V DNS z\u00e1znamu dom\u00e9ny se prost\u011b vytvo\u0159\u00ed polo\u017eka, kter\u00e1 se p\u0159elo\u017e\u00ed na lok\u00e1ln\u00ed IP, nen\u00ed probl\u00e9m.<\/p>\n\n\n\n<p>Let&#8217;s Encrypt si ov\u011b\u0159uje vlastnictv\u00ed dom\u00e9ny dvoj\u00edm zp\u016fsobem. Http-challenge kdy na danou webovou str\u00e1nku um\u00edst\u00edte soubor s p\u0159ik\u00e1zan\u00fdm obsahem, \u010d\u00edm\u017e se ov\u011b\u0159\u00ed, \u017ee ovl\u00e1d\u00e1te dan\u00fd web. To ale nebyla sch\u016fdn\u00e1 cesta, proto\u017ee, jak jsem \u0159ekl, jsme jen na vnit\u0159n\u00ed s\u00edti. Z intenetu se na webserver dostat ned\u00e1, alespo\u0148 v to douf\u00e1m. Druh\u00fd zp\u016fsob ov\u011b\u0159en\u00ed je dns-challenge. Princip je stejn\u00fd. M\u00e1te za \u00fakol vytvo\u0159it dns z\u00e1znam s p\u0159ik\u00e1zan\u00fdm obsahem a t\u00edm potrvrd\u00edte, \u017ee ovl\u00e1d\u00e1te dom\u00e9nu, ke kter\u00e9 chcete z\u00edskat certifik\u00e1t.<\/p>\n\n\n\n<p>Prakticky jde o jedenoduchou z\u00e1le\u017eitost. Pokud v\u00edme v\u0161e, co je popsan\u00e9 v\u00fd\u0161e, sta\u010d\u00ed nainstalovat certbot na RaspberryPi, nebo jin\u00fd stroj, na kter\u00e9m pot\u0159ebujete webserver s https.<br><code>sudo certbot certonly --manual --preferred-challenges dns<\/code><br>Budete vyzv\u00e1ni k zad\u00e1n\u00ed adresy serveru. V m\u00e9m p\u0159\u00edpad\u011b n\u011bco jako raspi.paws.cz<\/p>\n\n\n\n<p>N\u00e1sledn\u011b budete vyzv\u00e1n\u00ed k vytvo\u0159en\u00ed z\u00e1znamu v DNS. To bude vypadat asi takhle:<br><code>Please deploy a DNS TXT record under the name<br>_acme-challenge.raspi.paws.cz with the following value:<br><br>****************************_**************<br><br>Before continuing, verify the record is deployed.<\/code><\/p>\n\n\n\n<p>Nyn\u00ed je t\u0159eba vytvo\u0159it z\u00e1znam, v m\u00e9m p\u0159\u00edpad\u011b online u spr\u00e1vce dom\u00e9ny (Web4U &#8211; p\u0159i objedn\u00e1n\u00ed slu\u017eeb m\u016f\u017eete pou\u017e\u00edt m\u016fj referen\u010dn\u00ed k\u00f3d \u00a0<a href=\"http:\/\/www.web4u.cz\/rid\/33899\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/www.web4u.cz\/rid\/33899<\/a>) a po\u010dkat, a\u017e bude dostupn\u00fd z internetu. Z p\u0159ikazov\u00e9 \u0159\u00e1dky m\u016f\u017ee pr\u016fb\u011b\u017en\u00e9 spou\u0161t\u011bt:<br><code>dig -t txt _acme-challenge.raspi.paws.cz<\/code><\/p>\n\n\n\n<p>Ve chv\u00edli, kdy se vr\u00e1t\u00ed spr\u00e1vn\u00e1 hodnota, je mo\u017en\u00e9 v certbotu potvrdit p\u0159echod na dal\u0161\u00ed krok a m\u00e1me hotovo. Certifik\u00e1t je na po\u010d\u00edta\u010di.<\/p>\n\n\n\n<p>Zb\u00fdv\u00e1 u\u017e jen nakonfigurovat Apache a je \u00fapln\u011b hotovo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V\u017edycky jsem cht\u011bl zabr\u00e1nit vyhozov\u00e1n\u00ed zka\u017een\u00e9ho j\u00eddla a u\u017e p\u0159ed dlouh\u00fdmi lety jsem m\u011bl rozpracovanou datab\u00e1zi s desktopov\u00fdm programem na \u010dten\u00ed \u010d\u00e1rov\u00fdch k\u00f3d\u016f, kter\u00e1 by mi v tom pomohla. Bohu\u017eel jsme to nikdy nedot\u00e1hl do produk\u010dn\u00edho stavu a tak jsem byl moc r\u00e1d, kdy\u017e jsem na\u0161el PHP aplikaci nazvanou grocy, kter\u00e1 d\u011bl\u00e1 v\u0161echno co jsem [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/536"}],"collection":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=536"}],"version-history":[{"count":2,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/536\/revisions"}],"predecessor-version":[{"id":539,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/536\/revisions\/539"}],"wp:attachment":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=536"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}