{"id":2723,"date":"2021-01-11T08:00:00","date_gmt":"2021-01-11T07:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=2723"},"modified":"2021-01-06T14:22:46","modified_gmt":"2021-01-06T13:22:46","slug":"reverse-proxy-fuer-kanboard-im-container","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/reverse-proxy-fuer-kanboard-im-container\/","title":{"rendered":"Reverse-Proxy f\u00fcr Kanboard im Container"},"content":{"rendered":"\n<p>Im folgenden m\u00f6chte ich kurz die Konfiguration dokumentieren, mit der ich Ziel 4 aus &#8222;<a href=\"https:\/\/www.my-it-brain.de\/wordpress\/kanboard-im-container\/\" data-type=\"post\" data-id=\"2685\">Kanboard im Container&#8230;<\/a>&#8220; umgesetzt habe.<\/p>\n\n\n\n<p>Zuerst habe ich meinen Pod mit dem Kanboard- und dem Posgresql-Container erstellt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cat create-kanboard-pod.sh \n#!\/bin\/bash\nkanboard_data=$(podman volume inspect kanboard_data --format {{.Mountpoint}})\nkanboard_plugins=$(podman volume inspect kanboard_plugins --format {{.Mountpoint}})\nkanboard_ssl=$(podman volume inspect kanboard_ssl --format {{.Mountpoint}})\npgsql_data=$(podman volume inspect pgsql_data --format {{.Mountpoint}})\npodman run -d --pod new:kanboardpod --name kanboard -p 127.0.0.1:8080:80 -v $kanboard_data:\/var\/www\/app\/data:Z -v $kanboard_plugins:\/var\/www\/app\/plugins:Z kanboard\/kanboard\npodman run -d --pod kanboardpod --name pgsql_db -e POSTGRESQL_USER=root -e POSTGRESQL_PASSWORD=SuperGeheimesPasswort -e POSTGRESQL_DATABASE=kanboard -v $pgsql_data:\/var\/lib\/pgsql\/data:Z rhel8\/postgresql-96<\/code><\/pre>\n\n\n\n<p>Als Reverse-Proxy nutze ich <code>nginx<\/code>, welchen ich mittels <code>sudo dnf -y install nginx<\/code> installiert habe. Die Konfigurationsdatei <code>\/etc\/nginx\/nginx.conf<\/code> habe ich wie folgt erg\u00e4nzt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    server {\n        listen 80;\n        listen &#91;::]:80;\n        server_name kanboard.beispiel.de;\n        return 301 https:\/\/kanboard.beispiel.de$request_uri;\n    }\n\n    server {\n        listen 443 ssl http2;\n        listen &#91;::]:443 ssl http2;\n        server_name kanboard.beispiel.de;\n\n        ssl_certificate \"\/etc\/letsencrypt\/kanboard_fullchain.cer\";\n        ssl_certificate_key \"\/etc\/letsencrypt\/kanboard.beispiel.de.key\";\n        ssl_session_cache shared:SSL:1m;\n        ssl_session_timeout  10m;\n        ssl_ciphers PROFILE=SYSTEM;\n        ssl_prefer_server_ciphers on;\n\n        location \/ {\n            proxy_pass http:\/\/127.0.0.1:8080;\n        }\n    }<\/code><\/pre>\n\n\n\n<p>Damit nimmt der NGINX Anfragen auf den TCP-Ports 80 und 443 an, wobei ein Redirect von Port 80 auf 443 erfolgt. Diese Anfragen leitet der NGINX an den TCP-Port 8080 des Kanboard-Pods weiter.<\/p>\n\n\n\n<p>Die Erneuerung des SSL-Zertifikats habe ich nach dem Tutorial &#8222;<a href=\"https:\/\/www.my-it-brain.de\/wordpress\/lets-encrypt-nutzung-des-dns-alias-modus-mit-dem-acme-sh-client\/\">Let\u2019s Encrypt: Nutzung des DNS-Alias-Modus mit dem acme.sh-Client<\/a>&#8220; automatisiert.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im folgenden m\u00f6chte ich kurz die Konfiguration dokumentieren, mit der ich Ziel 4 aus &#8222;Kanboard im Container&#8230;&#8220; umgesetzt habe. Zuerst habe ich meinen Pod mit dem Kanboard- und dem Posgresql-Container erstellt: Als Reverse-Proxy nutze ich nginx, welchen ich mittels sudo dnf -y install nginx installiert habe. Die Konfigurationsdatei \/etc\/nginx\/nginx.conf habe ich wie folgt erg\u00e4nzt: Damit<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/reverse-proxy-fuer-kanboard-im-container\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[57],"tags":[517,304,610],"class_list":["post-2723","post","type-post","status-publish","format-standard","hentry","category-wochenend-projekte","tag-container","tag-nginx","tag-reverse-proxy"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=2723"}],"version-history":[{"count":1,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2723\/revisions"}],"predecessor-version":[{"id":2724,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2723\/revisions\/2724"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=2723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=2723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=2723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}