{"id":2228,"date":"2026-07-24T06:40:26","date_gmt":"2026-07-24T06:40:26","guid":{"rendered":"https:\/\/alexisiumus.ru\/?p=2228"},"modified":"2026-07-24T06:40:27","modified_gmt":"2026-07-24T06:40:27","slug":"%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b8-%d0%bf%d1%80%d0%b8-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b5-nextcloud","status":"publish","type":"post","link":"https:\/\/alexisiumus.ru\/?p=2228","title":{"rendered":"\u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Nextcloud"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#cf2e2e\" class=\"has-inline-color has-black-color\">HTTPS \u0438 \u0430\u0434\u0440\u0435\u0441\u0430<br>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0430\u0439\u0442\u0443 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 HTTP. \u041d\u0430\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 HTTPS, \u0442.\u043a. \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u0435\u0431-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435, \u043a\u0430\u043a \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u043b\u0443\u0436\u0431.<\/mark><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 Nextcloud \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e: <strong>\u0442\u044b \u0437\u0430\u0445\u043e\u0434\u0438\u0448\u044c \u043d\u0430 \u0441\u0430\u0439\u0442 \u043f\u043e HTTP, \u0430 Nextcloud \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 HTTPS \u2014 \u043d\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0435\u043c\u0443 \u043e\u0431 \u044d\u0442\u043e\u043c.<\/strong> \u042d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 reverse proxy (Apache\/Nginx\/Traefik) + Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0438\u0436\u0435 \u2014 \u0442\u043e\u0447\u043d\u043e\u0435, \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf \u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c HTTPS \u043d\u0430 \u043f\u0440\u043e\u043a\u0441\u0438 (Nginx\/Apache\/Traefik).<\/li>\n\n\n\n<li>\u0421\u043e\u043e\u0431\u0449\u0438\u0442\u044c Nextcloud, \u0447\u0442\u043e \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 HTTPS, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'overwriteprotocol' => 'https',\n'overwritehost' => 'docker.svyx.net',\n'overwrite.cli.url' => 'https:\/\/docker.svyx.net',<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u0423\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>X-Forwarded-Proto<\/code><\/li>\n\n\n\n<li><code>X-Forwarded-Host<\/code><\/li>\n\n\n\n<li><code>X-Forwarded-For<\/code><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 \u0422\u0432\u043e\u0439 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 config.php (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0431\u0430\u0432\u044c \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u044c <code>$CONFIG<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'trusted_proxies' =>\narray (\n  0 => '192.168.0.162',\n  1 => '172.17.0.0\/16',\n),\n\n'overwriteprotocol' => 'https',\n'overwritehost' => 'docker.svyx.net',\n'overwrite.cli.url' => 'https:\/\/docker.svyx.net',<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c Nextcloud \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 HTTPS, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0442 \u043f\u0440\u043e\u043a\u0441\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd25 \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u0415\u0441\u043b\u0438 \u0443 \u0442\u0435\u0431\u044f <strong>Nginx reverse proxy<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0431\u0430\u0432\u044c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_set_header Host $host;\nproxy_set_header X-Real-IP $remote_addr;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto https;\nproxy_set_header X-Forwarded-Host $host;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u0415\u0441\u043b\u0438 <strong>Apache reverse proxy<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ProxyPreserveHost On\nRequestHeader set X-Forwarded-Proto \"https\"\nRequestHeader set X-Forwarded-Host \"docker.svyx.net\"\nRequestHeader set X-Forwarded-For %{REMOTE_ADDR}s<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u0415\u0441\u043b\u0438 <strong>Traefik<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Traefik \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0451 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e <code>trusted_proxies<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udfe9 \u041f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker restart nextcloud<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php occ config:list system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044b \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u0432\u0438\u0434\u0435\u0442\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"overwriteprotocol\": \"https\"\n\"overwritehost\": \"docker.svyx.net\"\n\"overwrite.cli.url\": \"https:\/\/docker.svyx.net\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u0435\u0442.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#cf2e2e\" class=\"has-inline-color\">\u0414\u043e\u0441\u0442\u0443\u043f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c\u0443 HTTP<\/mark><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434: \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 <strong>\u0442\u0432\u043e\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Apache \u043f\u043e\u0447\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f, \u043d\u043e \u0434\u043b\u044f Nextcloud \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u0432\u0443\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439<\/strong>:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 <code>X-Forwarded-*<\/code><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">2) \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f WebSocket (Nextcloud \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 ws:\/\/, \u044d\u0442\u043e \u043b\u0438\u0448\u043d\u0435\u0435)<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">3) \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>ProxyPassReverse<\/code> \u0434\u043b\u044f HTTPS<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">4) \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0438\u0436\u0435 \u2014 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 VirtualHost, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 Nextcloud:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00ab\u0414\u043e\u0441\u0442\u0443\u043f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c\u0443 HTTP\u00bb \u00ab\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u00bb<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u2714 \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 VirtualHost \u0434\u043b\u044f Nextcloud \u0447\u0435\u0440\u0435\u0437 Apache reverse proxy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">apache<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:443>\n    ServerName docker.svyx.net\n\n    SSLEngine on\n    SSLCertificateFile \/etc\/letsencrypt\/live\/docker.svyx.net\/fullchain.pem\n    SSLCertificateKeyFile \/etc\/letsencrypt\/live\/docker.svyx.net\/privkey.pem\n\n    # \u0412\u0430\u0436\u043d\u043e \u0434\u043b\u044f Nextcloud\n    ProxyPreserveHost On\n    ProxyRequests Off\n\n    # \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 HTTP\u2011\u0442\u0440\u0430\u0444\u0438\u043a\n    ProxyPass        \/ http:\/\/192.168.0.162:8080\/\n    ProxyPassReverse \/ http:\/\/192.168.0.162:8080\/\n\n    # \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0434\u043b\u044f Nextcloud\n    RequestHeader set X-Forwarded-Proto \"https\"\n    RequestHeader set X-Forwarded-Ssl \"on\"\n    RequestHeader set X-Forwarded-For \"%{REMOTE_ADDR}s\"\n    RequestHeader set X-Forwarded-Host \"%{HTTP_HOST}s\"\n\n    # \u0417\u0430\u0449\u0438\u0442\u0430\n    Header always set Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\"\n&lt;\/VirtualHost>\n\n&lt;VirtualHost *:80>\n    ServerName docker.svyx.net\n    Redirect permanent \/ https:\/\/docker.svyx.net\/\n&lt;\/VirtualHost><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u2714 \u0427\u0442\u043e \u044f \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u043f\u043e\u0447\u0435\u043c\u0443<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udfe9 1. \u0423\u0431\u0440\u0430\u043b WebSocket\u2011\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nextcloud <strong>\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 WebSocket<\/strong>, \u0430 \u0442\u0432\u043e\u0439 RewriteRule:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">apache<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RewriteCond %{HTTP:Upgrade} =websocket\nRewriteRule \/(.*) ws:\/\/192.168.0.162:8080\/$1 &#91;P,L]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0438 \u043b\u043e\u043c\u0430\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udfe9 2. \u0414\u043e\u0431\u0430\u0432\u0438\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 X\u2011Forwarded\u2011*<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0434\u043b\u044f Nextcloud:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RequestHeader set X-Forwarded-Proto \"https\"\nRequestHeader set X-Forwarded-Ssl \"on\"\nRequestHeader set X-Forwarded-For \"%{REMOTE_ADDR}s\"\nRequestHeader set X-Forwarded-Host \"%{HTTP_HOST}s\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u0435\u0437 \u043d\u0438\u0445 Nextcloud \u0434\u0443\u043c\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0438\u0448\u0451\u043b \u043f\u043e HTTP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udfe9 3. \u0423\u043f\u0440\u043e\u0441\u0442\u0438\u043b \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u0441 HTTP \u2192 HTTPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423 \u0442\u0435\u0431\u044f \u0431\u044b\u043b\u043e \u0434\u0432\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 RewriteRule \u2014 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udfe9 4. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nextcloud \u0432 Docker<\/li>\n\n\n\n<li>Apache \u043a\u0430\u043a \u0432\u043d\u0435\u0448\u043d\u0438\u0439 reverse proxy<\/li>\n\n\n\n<li>HTTPS \u043d\u0430 Apache<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u2192 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2714 \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c config.php Nextcloud<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423 \u0442\u0435\u0431\u044f \u0443\u0436\u0435 \u0435\u0441\u0442\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'trusted_proxies' =>\narray (\n  0 => '192.168.0.162',\n  1 => '172.17.0.0\/16',\n),<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0431\u0430\u0432\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'overwriteprotocol' => 'https',\n'overwritehost' => 'docker.svyx.net',\n'overwrite.cli.url' => 'https:\/\/docker.svyx.net',<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u2714 \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438 Apache:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart apache2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Nextcloud:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker restart nextcloud<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u044c:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php occ config:list system<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Nextcloud, Docker, Apache reverse proxy, HTTPS, X-Forwarded \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432, trusted_proxies \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u043e\u0448\u0438\u0431\u043e\u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n","protected":false},"author":1,"featured_media":2230,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[33],"tags":[187,606,790,214,185,181,13,71,184,241,792,789,788,787,49,589,232,791],"class_list":["post-2228","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-33","tag-apache","tag-config-php","tag-devops","tag-docker","tag-https","tag-lets-encrypt","tag-linux","tag-nextcloud","tag-nginx","tag-reverse-proxy","tag-ssl","tag-trusted_proxies","tag-x-forwarded-host","tag-x-forwarded-proto","tag-49","tag-589","tag-232","tag-791"],"_links":{"self":[{"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/posts\/2228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2228"}],"version-history":[{"count":1,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/posts\/2228\/revisions"}],"predecessor-version":[{"id":2229,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/posts\/2228\/revisions\/2229"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=\/wp\/v2\/media\/2230"}],"wp:attachment":[{"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alexisiumus.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}