{"id":1630,"date":"2024-10-29T01:05:19","date_gmt":"2024-10-28T22:05:19","guid":{"rendered":"https:\/\/dockerhosting.ru\/blog\/?p=1630"},"modified":"2024-11-15T03:30:41","modified_gmt":"2024-11-15T00:30:41","slug":"zapusk-keycloak-v-docker","status":"publish","type":"post","link":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/","title":{"rendered":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>SSO<\/strong> (\u0435\u0434\u0438\u043d\u044b\u0439 \u0432\u0445\u043e\u0434) \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0439\u0442\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0435 \u0432\u0432\u043e\u0434\u044f \u043f\u0430\u0440\u043e\u043b\u044c.&nbsp;\u0421\u0438\u0441\u0442\u0435\u043c\u044b SSO \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0432 \u043d\u0430\u0448\u0438 \u0434\u043d\u0438, \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Google, Facebook \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.&nbsp;\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 SSO, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 OneLogin, okta \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"1024\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png\" alt=\"\" class=\"wp-image-1631\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png 987w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89-289x300.png 289w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89-768x797.png 768w\" sizes=\"auto, (max-width: 987px) 100vw, 987px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/www.keycloak.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Keycloak<\/a><\/strong>&nbsp;\u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a&nbsp;<em>OpenID Connect<\/em>&nbsp;\u0438&nbsp;<em>SAML 2.0<\/em>. \u042d\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0435\u0433\u043e.&nbsp;\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043b\u0435\u0433\u043a\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0445\u043e\u0434 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e Active Directory\/LDAP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Keycloak \u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u044b\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/strong>&nbsp;\u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Active Directory \u0438 LDAP.<\/li>\n\n\n\n<li><strong>\u041c\u043e\u0441\u0442 Kerberos<\/strong>&nbsp;\u2013&nbsp;\u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 Kerberos.<\/li>\n\n\n\n<li><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u043c<\/strong>&nbsp;\u2014 \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0432\u0430\u0448\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e.<\/li>\n\n\n\n<li><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/strong>&nbsp;\u2014 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 HOTP\/TOTP \u0447\u0435\u0440\u0435\u0437 Google Authenticator \u0438\u043b\u0438 FreeOTP.<\/li>\n\n\n\n<li><strong>\u0412\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438<\/strong>&nbsp;\u2014 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 GitHub, Google, Facebook, Twitter \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438.<\/li>\n\n\n\n<li>\u041e\u043d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0435\u0434\u0438\u043d\u044b\u0439 \u0432\u0445\u043e\u0434 \u0438 \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432.<\/li>\n\n\n\n<li><strong>\u0411\u0440\u043e\u043a\u0435\u0440\u0441\u0442\u0432\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>&nbsp;\u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 SAML \u0438\u043b\u0438 Open ID.<\/li>\n\n\n\n<li><strong>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0430\u043d\u0441\u0430\u043c\u0438<\/strong>&nbsp;\u2013 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0430\u043d\u0441\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0438.<\/li>\n\n\n\n<li>\u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 JavaScript, JBoss EAP, WildFly, Fuse, Jetty, Tomcat, Spring \u0438 \u0442. \u0434.<\/li>\n<\/ul>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%B9%D1%82%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\" >\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9\" >\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#1_%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC_%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7_Keycloak_docker\" >1. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Keycloak docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#2_%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B0_Keycloak_docker\" >2. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 Keycloak docker<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0_%D0%BA_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9\" >\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D0%B5_Keycloak_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Lets_Encrypt_SSL\" >\u0417\u0430\u0449\u0438\u0442\u0438\u0442\u0435 Keycloak \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Let&#8217;s Encrypt SSL<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%B9%D1%82%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85\"><\/span>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-simple-note-warning\">\u041f\u0440\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Keycloak Server \u0432\u0430\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.\u00a0\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">docker network create keycloak-network<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 PostgreSQL \u0432 \u043c\u043e\u0434\u0443\u043b\u0435.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">docker run --name db \\\n  --net keycloak-network \\\n  -e POSTGRES_USER=admin \\\n  -e POSTGRES_PASSWORD=Passw0rd \\\n  -e POSTGRES_DB=keycloakdb \\\n  -d docker.io\/library\/postgres:latest<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">$ docker ps\nCONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS      NAMES\n479b1599d5a0   postgres:latest   \"docker-entrypoint.s\u2026\"   12 seconds ago   Up 10 seconds   5432\/tcp   db<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9\"><\/span>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Keycloak Server.&nbsp;\u0412\u043e\u0442 \u043e\u043d\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 Keycloak docker<\/li>\n\n\n\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Keycloak docker<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC_%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7_Keycloak_docker\"><\/span>1. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Keycloak docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Docker Keycloak.&nbsp;\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u0430\u044f \u043d\u0438\u0436\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Keycloak.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">docker run -d \\\n  --net keycloak-network \\\n  --name keycloak \\\n  -e KEYCLOAK_USER=admin \\\n  -e KEYCLOAK_PASSWORD=StrongPassw0rd \\\n  -p 8080:8080 \\\n  -p 8443:8443 \\\n  -e KEYCLOAK_DB=postgres \\\n  -e KEYCLOAK_FEATURES=token-exchange \\\n  -e KEYCLOAK_DB_URL=jdbc:postgresql:\/\/db\/keycloakdb \\\n  -e KEYCLOAK_DB_USERNAME=admin \\\n  -e KEYCLOAK_DB_PASSWORD=Passw0rd \\\n  jboss\/keycloak<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 Keycloak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">$ docker ps\nCONTAINER ID   IMAGE             COMMAND                  CREATED             STATUS             PORTS                                                                                  NAMES\na910a9eaa5e1   jboss\/keycloak    \"\/opt\/jboss\/tools\/do\u2026\"   5 seconds ago       Up 4 seconds       0.0.0.0:8080-&gt;8080\/tcp, :::8080-&gt;8080\/tcp, 0.0.0.0:8443-&gt;8443\/tcp, :::8443-&gt;8443\/tcp   keycloak\n8f5e593eb517   postgres:latest   \"docker-entrypoint.s\u2026\"   About an hour ago   Up About an hour   5432\/tcp                                                                               db<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u043e \u043f\u043e\u0440\u0442\u0443&nbsp;<strong>8443<\/strong>. \u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e URL-\u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<a href=\"https:\/\/ip_address:8443\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/IP_\u0430\u0434\u0440\u0435\u0441:8443<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B0_Keycloak_docker\"><\/span>2. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 Keycloak docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Keycloak \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u043e\u0431\u043c\u0435\u043d\u0430 \u0442\u043e\u043a\u0435\u043d\u0430\u043c\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0435\u0442\u0440\u0438\u043a, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u0438\u0437 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0438\u0436\u0435 \u0444\u0430\u0439\u043b\u0430 Docker.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">vim Dockerfile<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0444\u0430\u0439\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">FROM quay.io\/keycloak\/keycloak:latest as builder\n\nENV KC_HEALTH_ENABLED=true\nENV KC_METRICS_ENABLED=true\nENV KC_FEATURES=token-exchange\nENV KC_DB=postgres\n\n# Install custom providers\nRUN curl -sL https:\/\/github.com\/aerogear\/keycloak-metrics-spi\/releases\/download\/4.0.0\/keycloak-metrics-spi-4.0.0.jar -o \/opt\/keycloak\/providers\/keycloak-metrics-spi-4.0.0.jar\nRUN \/opt\/keycloak\/bin\/kc.sh build\n\nFROM quay.io\/keycloak\/keycloak:latest\nCOPY --from=builder \/opt\/keycloak\/ \/opt\/keycloak\/\nWORKDIR \/opt\/keycloak\n\n# For demonstration purposes only, please make sure to use proper certificates in production instead\nRUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname \"CN=server\" -alias server -ext \"SAN:c=DNS:localhost,IP:127.0.0.1\" -keystore conf\/server.keystore\n\n# Change these values to point to a running postgres instance\nENV KC_DB_URL=jdbc:postgresql:\/\/db\/keycloakdb\nENV KC_DB_USERNAME=admin\nENV KC_DB_PASSWORD=Passw0rd\nENV KC_HOSTNAME=localhost\n\nENTRYPOINT [\"\/opt\/keycloak\/bin\/kc.sh\", \"start\"]<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c&nbsp;<strong>\u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>&nbsp;\u0438 IP-\u0430\u0434\u0440\u0435\u0441 \u0432&nbsp;<strong>DB_URL<\/strong>&nbsp;\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043e\u0431\u0440\u0430\u0437\u0430.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">docker build . -t keycloak_image<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u0430 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0435\u0433\u043e:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">$ docker images\nREPOSITORY                  TAG       IMAGE ID       CREATED          SIZE\nkeycloak_image              latest    c7e3a15f28de   5 seconds ago    754MB\n&lt;none&gt;                      &lt;none&gt;    faf55943f0f2   13 seconds ago   734MB\nquay.io\/keycloak\/keycloak   latest    a669b057e631   36 hours ago     562MB\npostgres                    latest    74b0c105737a   44 hours ago     376MB<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Keycloak \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0412 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0435<\/strong>&nbsp;(\u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">docker run --name keycloak --net keycloak-network -p 8443:8443 -e KEYCLOAK_ADMIN=myadmin -e KEYCLOAK_ADMIN_PASSWORD=StrongPassw0rd -d keycloak_image<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">$ docker ps\nCONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                                                 NAMES\n78eb8a3e6ecc   keycloak_image    \"\/opt\/keycloak\/bin\/k\u2026\"   4 seconds ago   Up 3 seconds   8080\/tcp, 0.0.0.0:8443-&gt;8443\/tcp, :::8443-&gt;8443\/tcp   keycloak\nf6f538e7c097   postgres:latest   \"docker-entrypoint.s\u2026\"   2 minutes ago   Up 2 minutes   0.0.0.0:5432-&gt;5432\/tcp, :::5432-&gt;5432\/tcp             db<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u043e \u043f\u043e\u0440\u0442\u0443&nbsp;<strong>8443<\/strong>. \u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e URL-\u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<a href=\"https:\/\/ip_address:8443\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/IP_\u0430\u0434\u0440\u0435\u0441:8443<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/localhost:8443\/health\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost:8443\/health<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/localhost:8443\/health\/ready\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost:8443\/health\/ready<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/localhost:8443\/health\/live\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost:8443\/health\/live<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/localhost:8443\/metrics\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost:8443\/metrics<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0_%D0%BA_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9\"><\/span>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0441\u0442\u0443\u043f \u043a Keycloak \u043f\u043e URL-\u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<a href=\"https:\/\/ip_address:8443\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/IP_\u0430\u0434\u0440\u0435\u0441:8443<\/a>.&nbsp;\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u044b Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f&nbsp;<strong>admin<\/strong>&nbsp;\u0438 \u043f\u0430\u0440\u043e\u043b\u044c&nbsp;<mark>StrongPassw0rd<\/mark>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"501\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-101.png\" alt=\"\" class=\"wp-image-1648\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-101.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-101-300x209.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438 \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"494\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-102.png\" alt=\"\" class=\"wp-image-1650\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-102.png 520w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-102-300x285.png 300w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u0432\u0432\u043e\u0434\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b \u0432\u043e\u0439\u0434\u0451\u0442\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0438\u0436\u0435.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"336\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-103.png\" alt=\"\" class=\"wp-image-1651\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-103.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-103-300x140.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0423 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f&nbsp;<strong>\u043e\u0431\u043b\u0430\u0441\u0442\u044c<\/strong>, \u043c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435&nbsp;<strong>\u041a\u043b\u0438\u0435\u043d\u0442\u044b<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"327\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-104.png\" alt=\"\" class=\"wp-image-1652\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-104.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-104-300x136.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"339\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-105.png\" alt=\"\" class=\"wp-image-1653\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-105.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-105-300x141.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0423\u043a\u0430\u0436\u0438\u0442\u0435 URL-\u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e&nbsp;<em>\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/em>&nbsp;\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00ab<strong>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 URL-\u0430\u0434\u0440\u0435\u0441 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/strong>\u00bb.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"688\" height=\"776\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-106.png\" alt=\"\" class=\"wp-image-1654\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-106.png 688w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-106-266x300.png 266w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 user.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"427\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-107.png\" alt=\"\" class=\"wp-image-1655\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-107.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-107-300x178.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0423\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"516\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-108.png\" alt=\"\" class=\"wp-image-1656\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-108.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-108-300x215.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0437\u043d\u0430\u0447\u044c\u0442\u0435 \u0440\u043e\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0440\u043e\u043b\u0438<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"324\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-109.png\" alt=\"\" class=\"wp-image-1657\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-109.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-109-300x135.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Keycloak.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D0%B5_Keycloak_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_Lets_Encrypt_SSL\"><\/span>\u0417\u0430\u0449\u0438\u0442\u0438\u0442\u0435 Keycloak \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Let&#8217;s Encrypt SSL<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 Keycloak \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u043d\u0435\u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c\u0443 \u043a\u0430\u043d\u0430\u043b\u0443 \u0441\u0432\u044f\u0437\u0438.&nbsp;\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Let\u2019s Encrypt \u0434\u043b\u044f \u0432\u044b\u0434\u0430\u0447\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Nginx.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">##On RHEL 8\/CentOS\/Rocky Linux 8\/Fedora\nsudo dnf install https:\/\/dl.fedoraproject.org\/pub\/epel\/epel-release-latest-8.noarch.rpm \nsudo yum install nginx certbot python3-certbot-nginx\n\n##On Debian\/Ubuntu\nsudo apt install nginx certbot python3-certbot-nginx<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0439\u0442\u0435 \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">sudo vim \/etc\/nginx\/conf.d\/keycloak.conf<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0424\u0430\u0439\u043b \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">server {\n    listen 80;\n    server_name keycloak.example.com;\n    client_max_body_size 25m;\n\n   location \/ {\n   proxy_pass https:\/\/localhost:8443\/;\n   proxy_set_header Host $http_host;\n   proxy_set_header X-Real-IP $remote_addr;\n   proxy_set_header X-Forwarded-Proto $scheme;\n  }\n\n  error_page 404 \/404.html;\n  location = \/40x.html {\n}\n\n  error_page 500 502 503 504 \/50x.html;\n  location = \/50x.html {\n}\n}<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Nginx<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart nginx\nsudo systemctl enable nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0439\u0442\u0435 \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot --nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log\nEnter email address (used for urgent renewal and security notices)\n (Enter 'c' to cancel): Enter a valid Email address here          \n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nPlease read the Terms of Service at\nhttps:\/\/letsencrypt.org\/documents\/LE-SA-v1.2-November-15-2017.pdf. You must\nagree in order to register with the ACME server. Do you agree?\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n(Y)es\/(N)o: y\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nWould you be willing, once your first certificate is successfully issued, to\nshare your email address with the Electronic Frontier Foundation, a founding\npartner of the Let's Encrypt project and the non-profit organization that\ndevelops Certbot? We'd like to send you email about our work encrypting the web,\nEFF news, campaigns, and ways to support digital freedom.\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n(Y)es\/(N)o: y\nAccount registered.\n\nWhich names would you like to activate HTTPS for?\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n1: keycloak.example.com\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nSelect the appropriate numbers separated by commas and\/or spaces, or leave input\nblank to select all options shown (Enter 'c' to cancel): 1\n\nRequesting a certificate for keycloak.example.com\nPerforming the following challenges:\nhttp-01 challenge for keycloak.example.com\nWaiting for verification...\nCleaning up challenges\nDeploying Certificate to VirtualHost \/etc\/nginx\/conf.d\/keycloak.conf\n\nPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n1: No redirect - Make no further changes to the webserver configuration.\n2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for\nnew sites, or if you're confident your site works on HTTPS. You can undo this\nchange by editing your web server's configuration.\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nSelect the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\nRedirecting all traffic on port 80 to ssl in \/etc\/nginx\/conf.d\/keycloak.conf\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nCongratulations! You have successfully enabled https:\/\/keycloak.example.com\n...<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435&nbsp;<strong><em>HTTPS<\/em><\/strong>&nbsp;\u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 Keycloak, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f URL&nbsp;<a href=\"https:\/\/domain_name\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>https:\/\/\u0438\u043c\u044f_\u0434\u043e\u043c\u0435\u043d\u0430<\/strong><\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"486\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-110.png\" alt=\"\" class=\"wp-image-1658\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-110.png 720w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-110-300x203.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438: <a href=\"https:\/\/computingforgeeks.com\/run-keycloak-server-in-docker\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Run Keycloak Server in Docker Containers with Let\u2019s Encrypt SSL<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/howtodoinjava.com\/devops\/keycloak-on-docker\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Getting Started with Keycloak on Docker<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/gauthier-cassany.com\/posts\/setup-keycloak-docker\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">How to set up Keycloak with Docker and PostgreSQL<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingpost.medium.com\/run-keycloak-server-in-docker-containers-with-lets-encrypt-ssl-87067a8056f5\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Run Keycloak Server in Docker Containers with Let\u2019s Encrypt SSL<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>SSO (\u0435\u0434\u0438\u043d\u044b\u0439 \u0432\u0445\u043e\u0434) \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0439\u0442\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0435 \u0432\u0432\u043e\u0434\u044f \u043f\u0430\u0440\u043e\u043b\u044c.&nbsp;\u0421\u0438\u0441\u0442\u0435\u043c\u044b SSO \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0432 \u043d\u0430\u0448\u0438 \u0434\u043d\u0438, \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Google, Facebook \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.&nbsp;\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 SSO, \u0432 \u0442\u043e\u043c&hellip;&nbsp;<a href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/\" rel=\"bookmark\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;<span class=\"screen-reader-text\">\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-1630","post","type-post","status-publish","format-standard","hentry","category-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker - DockerHosting.ru<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker\" \/>\n<meta property=\"og:description\" content=\"SSO (\u0435\u0434\u0438\u043d\u044b\u0439 \u0432\u0445\u043e\u0434) \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0439\u0442\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0435 \u0432\u0432\u043e\u0434\u044f \u043f\u0430\u0440\u043e\u043b\u044c.&nbsp;\u0421\u0438\u0441\u0442\u0435\u043c\u044b SSO \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0432 \u043d\u0430\u0448\u0438 \u0434\u043d\u0438, \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Google, Facebook \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.&nbsp;\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 SSO, \u0432 \u0442\u043e\u043c&hellip;&nbsp;\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"DockerHosting.ru\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-28T22:05:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-15T00:30:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png\" \/>\n\t<meta property=\"og:image:width\" content=\"987\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/\"},\"author\":{\"name\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/person\\\/065a7b9ff0b6c2ae566eb818352031b4\"},\"headline\":\"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker\",\"datePublished\":\"2024-10-28T22:05:19+00:00\",\"dateModified\":\"2024-11-15T00:30:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/\"},\"wordCount\":779,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/image-89.png\",\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/\",\"name\":\"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker - DockerHosting.ru\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/image-89.png\",\"datePublished\":\"2024-10-28T22:05:19+00:00\",\"dateModified\":\"2024-11-15T00:30:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/image-89.png\",\"contentUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/image-89.png\",\"width\":987,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/zapusk-keycloak-v-docker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\",\"name\":\"\u0411\u043b\u043e\u0433 DockerHosting.ru\",\"description\":\"\u0411\u043b\u043e\u0433 \u0445\u043e\u0441\u0442\u0438\u043d\u0433-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b DockerHosting.ru\",\"publisher\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\",\"name\":\"DockerHosting.ru\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-dockerhosting_cl.png\",\"contentUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-dockerhosting_cl.png\",\"width\":200,\"height\":36,\"caption\":\"DockerHosting.ru\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/person\\\/065a7b9ff0b6c2ae566eb818352031b4\",\"name\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"caption\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\"},\"sameAs\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\"],\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/author\\\/aleks\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker - DockerHosting.ru","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/","og_locale":"ru_RU","og_type":"article","og_title":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker","og_description":"SSO (\u0435\u0434\u0438\u043d\u044b\u0439 \u0432\u0445\u043e\u0434) \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0439\u0442\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0435 \u0432\u0432\u043e\u0434\u044f \u043f\u0430\u0440\u043e\u043b\u044c.&nbsp;\u0421\u0438\u0441\u0442\u0435\u043c\u044b SSO \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0432 \u043d\u0430\u0448\u0438 \u0434\u043d\u0438, \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Google, Facebook \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.&nbsp;\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 SSO, \u0432 \u0442\u043e\u043c&hellip;&nbsp;\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker","og_url":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/","og_site_name":"DockerHosting.ru","article_published_time":"2024-10-28T22:05:19+00:00","article_modified_time":"2024-11-15T00:30:41+00:00","og_image":[{"width":987,"height":1024,"url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png","type":"image\/png"}],"author":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"7 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#article","isPartOf":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/"},"author":{"name":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/person\/065a7b9ff0b6c2ae566eb818352031b4"},"headline":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker","datePublished":"2024-10-28T22:05:19+00:00","dateModified":"2024-11-15T00:30:41+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/"},"wordCount":779,"commentCount":0,"publisher":{"@id":"https:\/\/dockerhosting.ru\/blog\/#organization"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png","inLanguage":"ru-RU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/","url":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/","name":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker - DockerHosting.ru","isPartOf":{"@id":"https:\/\/dockerhosting.ru\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#primaryimage"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png","datePublished":"2024-10-28T22:05:19+00:00","dateModified":"2024-11-15T00:30:41+00:00","breadcrumb":{"@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#primaryimage","url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png","contentUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/10\/image-89.png","width":987,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/dockerhosting.ru\/blog\/zapusk-keycloak-v-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/dockerhosting.ru\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0417\u0430\u043f\u0443\u0441\u043a Keycloak \u0432 Docker"}]},{"@type":"WebSite","@id":"https:\/\/dockerhosting.ru\/blog\/#website","url":"https:\/\/dockerhosting.ru\/blog\/","name":"\u0411\u043b\u043e\u0433 DockerHosting.ru","description":"\u0411\u043b\u043e\u0433 \u0445\u043e\u0441\u0442\u0438\u043d\u0433-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b DockerHosting.ru","publisher":{"@id":"https:\/\/dockerhosting.ru\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerhosting.ru\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/dockerhosting.ru\/blog\/#organization","name":"DockerHosting.ru","url":"https:\/\/dockerhosting.ru\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/11\/cropped-dockerhosting_cl.png","contentUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/11\/cropped-dockerhosting_cl.png","width":200,"height":36,"caption":"DockerHosting.ru"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/person\/065a7b9ff0b6c2ae566eb818352031b4","name":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","caption":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440"},"sameAs":["https:\/\/dockerhosting.ru\/blog"],"url":"https:\/\/dockerhosting.ru\/blog\/author\/aleks\/"}]}},"_links":{"self":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/1630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/comments?post=1630"}],"version-history":[{"count":10,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/1630\/revisions"}],"predecessor-version":[{"id":1848,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/1630\/revisions\/1848"}],"wp:attachment":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/media?parent=1630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/categories?post=1630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/tags?post=1630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}