{"id":818,"date":"2020-07-22T15:44:50","date_gmt":"2020-07-22T08:44:50","guid":{"rendered":"http:\/\/notes.opikdesign.com\/?p=818"},"modified":"2020-08-04T14:02:20","modified_gmt":"2020-08-04T07:02:20","slug":"https-di-home-assistant-hass-io-dengan-ssl-dari-lets-encrypt","status":"publish","type":"post","link":"https:\/\/notes.opikdesign.com\/index.php\/2020\/07\/22\/iot-robot\/https-di-home-assistant-hass-io-dengan-ssl-dari-lets-encrypt\/","title":{"rendered":"HTTPS di Home Assistant (Hass.io) dengan SSL dari Let&#8217;s Encrypt"},"content":{"rendered":"\n<p>Web access Hassio dengan HTTP default port 8123 sudah bisa di akses namun bila ingin diakses dari luar agar aman sebaiknya HTTP Encrypt yang biasa dikenal HTTPS, selain keamanan juga untuk menghubungkan Third Party API dengan lainnya misalnya Google Assistant\/Home atau Amazon agar bisa diperintah lewat suara seperti device Google Nest atau Alexa.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Disini topologi dengan posisi Hassio Server diletakkan dibelakang router dimana si Hassio ini dapat\/di config IP Private. Artinya perlu ada config pada router untuk membuat NAT Port Destionation HTTP dan HTTPS dari IP Public (WAN) ke IP Private (LAN) terlebih dahulu. Jangan lupa buka juga port tersebut agar dari luar bisa akses ke Hassio.<\/p>\n\n\n\n<p>Selanjutnya rencanakan nama domain atau sub-domain, sangat di perlukan bila akan menggunakan <em><a rel=\"noreferrer noopener\" href=\"https:\/\/letsencrypt.org\/id\/\" target=\"_blank\">Let&#8217;s Encryt<\/a><\/em> tersebut. Bila <strong><em>IP Public Static<\/em><\/strong>, bisa menentukan dengan domain yang berbayar dan\/atau bisa ditambahkan sub-domain, misal <em>examples.opikdesign.com<\/em> atau <em>iot.opikdesign.com<\/em>, setelah itu edit <strong>Name Server<\/strong> DNS domain <em>opikdesign.com<\/em> tersebut agar sub-domain dengan A Record di arahkan ke IP Public static tersebut. Tetapi bila mendapatkan ISP yang tidak mendapatkan IP Public Static melainkan <em><strong>IP Public Dynamic<\/strong><\/em>, bisa menghandalkan <strong><em>Dynamic DNS<\/em><\/strong> dan pasti subdomain bisanya namun ada juga layanan Dynamic DNS yang berbayar dengan nama domainnya, namun di sini menggunakan layanan <em><a rel=\"noreferrer noopener\" href=\"http:\/\/www.duckdns.org\/\" target=\"_blank\">Duck DNS<\/a><\/em> dikarena sudah tersediah plug-ins di Hassio, tentukan subdomainnya misal <em>examples.duckdns.org<\/em>, kemudian buka dan daftar di Duck DNS kemudian buat sub-domain tersebut seperti gambar tersebut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1150\" height=\"603\" src=\"https:\/\/i1.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-15.png?fit=525%2C275\" alt=\"\" class=\"wp-image-821\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-15.png?w=1150&amp;ssl=1 1150w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-15.png?resize=300%2C157&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-15.png?resize=1024%2C537&amp;ssl=1 1024w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-15.png?resize=768%2C403&amp;ssl=1 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Bila di sisi DNS sudah sesuai seperti diatas, maka perlu ditambahkan static DNS di router dimana domain\/sub-domain diarahkan ke IP Private Hassio tersebut, agar saat create Certificate SSL dapat jalan dengan baik.<\/p>\n\n\n\n<p>Kemudian pada Hassio, ke menu Supervisor dan arahkan pada tab <em>Add-on Store<\/em>, install <em>Let&#8217;s Encrupt<\/em> dan <em>NGINX Homer Assistant SSL Proxy<\/em>, bila mendapatkan IP Public Dynamic dari ISP maka install juga <em>Duck DNS<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1247\" height=\"614\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-16.png?fit=525%2C258\" alt=\"\" class=\"wp-image-824\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-16.png?w=1247&amp;ssl=1 1247w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-16.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-16.png?resize=1024%2C504&amp;ssl=1 1024w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-16.png?resize=768%2C378&amp;ssl=1 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption><br><\/figcaption><\/figure>\n\n\n\n<p>Generate SSL Certificate, pergi ke tab <em>Dashboard<\/em> kemudian click Let&#8217;s Encrypt, click tab <em>Configuration.<\/em> Setelah dirubah config seperti gambar di bawah ini selanjutnya ke tab <em>Info<\/em> kemudian click <em>START.<\/em> Untuk melihat sukses atau tidaknya bisa ke tab <em>Log<\/em>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"201\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-17.png?resize=525%2C201\" alt=\"\" class=\"wp-image-827\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-17.png?w=988&amp;ssl=1 988w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-17.png?resize=300%2C115&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-17.png?resize=768%2C295&amp;ssl=1 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption><br><\/figcaption><\/figure>\n\n\n\n<p>Bila IP Public Dynamic, config <em>Duck DNS<\/em>, kembali ke <em>Dashboard<\/em> dan click <em>Duck DNS<\/em>, kemudian ke tab Configuration, ikuti config -nya seperti di gambar dibawah tersebut. Setelah dirubah config selanjutnya ke tab <em>Info<\/em> kemudian click <em>START.<\/em> Untuk melihat sukses atau tidaknya bisa ke tab <em>Log<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"251\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-18.png?resize=525%2C251\" alt=\"\" class=\"wp-image-829\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-18.png?w=991&amp;ssl=1 991w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-18.png?resize=300%2C143&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-18.png?resize=768%2C367&amp;ssl=1 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Buka <em>File Editor<\/em>, edit <em>configuration.yaml<\/em>, rubah dan save kemudian restart Hassio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"172\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-24.png?resize=525%2C172\" alt=\"\" class=\"wp-image-849\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-24.png?w=559&amp;ssl=1 559w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-24.png?resize=300%2C98&amp;ssl=1 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n\n\n\n<p>Terakhir config dan jalankan HTTPS Proxy -nya, kembali ke <em>Dashboard<\/em> dan click <em>NGINX Home Assistant SSL proxy<\/em> kemudian arahkan ke tab <em>Configuration<\/em>, ikuti seperti di bawah ini. Kemudian jalankan dan pantau Log -nya. Kalau sukses coba di buka dari luar https:\/\/examples.duckdns.org.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"347\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-19.png?resize=525%2C347\" alt=\"\" class=\"wp-image-832\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-19.png?w=1020&amp;ssl=1 1020w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-19.png?resize=300%2C198&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2020\/07\/image-19.png?resize=768%2C507&amp;ssl=1 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web access Hassio dengan HTTP default port 8123 sudah bisa di akses namun bila ingin diakses dari luar agar aman sebaiknya HTTP Encrypt yang biasa dikenal HTTPS, selain keamanan juga untuk menghubungkan Third Party API dengan lainnya misalnya Google Assistant\/Home atau Amazon agar bisa diperintah lewat suara seperti device Google Nest atau Alexa.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[66,63,65],"tags":[],"class_list":["post-818","post","type-post","status-publish","format-standard","hentry","category-home-assistant","category-iot-robot","category-smart-home"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/comments?post=818"}],"version-history":[{"count":11,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/818\/revisions"}],"predecessor-version":[{"id":851,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/818\/revisions\/851"}],"wp:attachment":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/media?parent=818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/categories?post=818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/tags?post=818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}