Jump to content

Question

Posted

Имею статический IP адрес, зарегистрировал доменное имя в KeenDNS (server.keenetic.pro), режим работы выбрал "Прямой доступ".

Для Nextcloud создал доменное имя 4го уровня (web.server.keenetic.pro), в конфиге nextcloud добавил соответствующий доверенный домен. Не могу достучаться до web.server.keenetic.pro. Видимо не правильно выставляю порт в KeenDNS (TCP 80/443) и не верная настройка NGINX. Помогите пожалуйста разобраться.

Настройки NGINX начинаются так:

upstream php-handler {
    #server 127.0.0.1:9000;
    server unix:/var/run/php/php8.0-fpm.sock;
}

# Set the `immutable` cache control options only for assets with a cache busting `v` argument
map $arg_v $asset_immutable {
    "" "";
    default "immutable";
}


server {
    listen 80;
    listen [::]:80;
    server_name web.server.keenetic.pro;

    # Prevent nginx HTTP Server Detection
    server_tokens off;

    # Enforce HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443      ssl http2;
   listen [::]:443 ssl http2;
    server_name web.server.keenetic.pro;

    # Path to the root of your installation
    root /var/www/nextcloud;

    # Use Mozilla's guidelines for SSL/TLS settings
    # https://mozilla.github.io/server-side-tls/ssl-config-generator/
    ssl_trusted_certificate /etc/webmin/letsencrypt-ca.pem;
    ssl_certificate     /etc/webmin/letsencrypt-cert.pem;
    ssl_certificate_key /etc/webmin/letsencrypt-key.pem;

    # Prevent nginx HTTP Server Detection
    server_tokens off;

Recommended Posts

  • 1
Posted (edited)
9 часов назад, Gvadik сказал:

Не ждать сегодня?

Ну вот так пока...возможно что-то лишнее.

Апач вообще не трогал после установки

В кинетике зарегистрировал домен 4 уровня xxxx.yyyy.keenetic.pro  и  ---> 443----> 192.168.1.253:80

nextcloud на 80 порту 192.168.1.253 

Снимок.PNG

Edited by MDP
  • Thanks 1
  • 1
Posted (edited)

Удалось заставить работать KeenDNS + NextCloud (31.0.2 base version apache).

Застрял на том, что не давало пройти авторизацию и всё время перенаправляло на страницу login что бы не вводил.
Проблема была в том, что keenetic заголовки режет, и чтоб этого не было надо в CLI keenetic прописать:

ip http proxy nextcloud preserve-origin
system configuration save

* nextcloud - это dns имя моего приложения из раздела KeenDNS
А в config.php достаточно добавить:

'trusted_domains' => 
array (
  0 => 'nextcloud.DOMAIN.keenetic.link',
),
'overwrite.cli.url' => 'https://nextcloud.DOMAIN.keenetic.link',
'overwritehost' => 'nextcloud.DOMAIN.keenetic.link',
'overwriteprotocol' => 'https',

После этого всё начало работать, НО только по доменному имени!
Больше по IP работать не будет и все запросы идут через интернет, даже внутри домашней сети.
* В KeenDNS протокол HTTP выбираем

Но можно донастроить, чтоб внутри сети запросы не выходили в интернет - через CLI keenetic добавить статический адрес в DNS keenetic:

ip host nextcloud.DOMAIN.keenetic.link 192.168.1.1
system configuration save

* нужно сбросить dns кэш или подождать
* если используется KVAS (1.1.8r2), то можно добавить dns запись в /opt/etc/hosts и запустил kvas test для сброса кэша

ДОПОЛНИТЕЛЬНО
Если нужно чтоб в логах nextcloud отображались IP адреса устройств с которых идёт обращение, а не IP прокси (192.168.1.1), то в CLI keenetic прописать:

ip http proxy nextcloud x-real-ip
system configuration save

 

Что ещё пробовалось, но вроде как не понадобилось и не помогло решить проблему:
keenetic cli:

ip http proxy nextcloud preserve-host

config.php

'trusted_proxies' => ['192.168.1.1'],
'forwarded_for_headers' => ['HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'],
Edited by voitekhovich
  • 0
Posted
27 минут назад, Gvadik сказал:

Имею статический IP адрес, зарегистрировал доменное имя в KeenDNS (server.keenetic.pro), режим работы выбрал "Прямой доступ".

Для Nextcloud создал доменное имя 4го уровня (web.server.keenetic.pro), в конфиге nextcloud добавил соответствующий доверенный домен. Не могу достучаться до web.server.keenetic.pro. Видимо не правильно выставляю порт в KeenDNS (TCP 80/443) и не верная настройка NGINX. Помогите пожалуйста разобраться.

Настройки NGINX начинаются так:

upstream php-handler {
    #server 127.0.0.1:9000;
    server unix:/var/run/php/php8.0-fpm.sock;
}

# Set the `immutable` cache control options only for assets with a cache busting `v` argument
map $arg_v $asset_immutable {
    "" "";
    default "immutable";
}


server {
    listen 80;
    listen [::]:80;
    server_name web.server.keenetic.pro;

    # Prevent nginx HTTP Server Detection
    server_tokens off;

    # Enforce HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443      ssl http2;
   listen [::]:443 ssl http2;
    server_name web.server.keenetic.pro;

    # Path to the root of your installation
    root /var/www/nextcloud;

    # Use Mozilla's guidelines for SSL/TLS settings
    # https://mozilla.github.io/server-side-tls/ssl-config-generator/
    ssl_trusted_certificate /etc/webmin/letsencrypt-ca.pem;
    ssl_certificate     /etc/webmin/letsencrypt-cert.pem;
    ssl_certificate_key /etc/webmin/letsencrypt-key.pem;

    # Prevent nginx HTTP Server Detection
    server_tokens off;

Зачем заморочки с ssl в nginx, который для nextcloud?

Настройте nextcloud так, чтобы он работал из локалки по http, на каком-нибудь порту.

И в настройках keendns укажите апстримом локальный ip и порт.

Кинетик сам будет получать и обновлять сертификаты, оборачивать в ssl, и редиректить http запросы на https.

 

  • 0
Posted
1 минуту назад, Pop70 сказал:

Зачем заморочки с ssl в nginx, который для nextcloud?

Настройте nextcloud так, чтобы он работал из локалки по http, на каком-нибудь порту.

И в настройках keendns укажите апстримом локальный ip и порт.

Кинетик сам будет получать и обновлять сертификаты, оборачивать в ssl, и редиректить http запросы на https.

 

Тогда помогите пожалуйста привести конфиг NGINX в соответствие с вашим вариантом, то что я удалял раздел SSL в конфиге - результата не принесло...

  • 0
Posted
1 минуту назад, Gvadik сказал:

на отдельном компе с внутренним адресом 192.168.1.2

По http://192.168.1.2 доступен из локальной сети?

Нужно сделать так, чтобы был доступен.

Что-то вроде:

server {
    listen 80;

root /var/www/nextcloud;

}

  • 0
Posted

По http://192.168.1.2 вывод (см.вложение). Хотя узлы явно указал в config.php

'trusted_domains' => 
  array (
    0 => '192.168.1.2:20000',
    1 => 'web.server.keenetic.pro:20000',
  ),

Снимок экрана от 2022-07-08 14-24-25.png

  • 0
Posted
1 час назад, Gvadik сказал:

0 => '192.168.1.2:20000',

Нафига в домене указывать порт?

0 => '192.168.1.2'

1 => 'web.server.keennetic.pro'

На каком порту слушает сервер?

  • 0
Posted

Вторая строчка нафиг не нужна.

В кинетике апстримом укажете http://192.168.2.1 Если сервер на 80 порту, то больше ничего не надо.

 

  • 0
Posted

Сделал как советовали, всё равно ругается на недоверенный домен

  • 0
Posted
1 час назад, Gvadik сказал:

Сделал как советовали, всё равно ругается на недоверенный домен

Заставьте работать по http://192.168.1.2 из локальной сети. Как? Я не знаю - это скорее на форум по nextcloud.

  • 0
Posted (edited)
В 08.07.2022 в 16:05, Gvadik сказал:

Сделал как советовали, всё равно ругается на недоверенный домен

Надо указать обратный прокси.

в config.php

'overwritehost' => 'web.server.keennetic.pro',

'overwriteprotocol' => 'https',

'trusted_proxies' =>

array (

0 => 'IP Keenetic',

),

 

Edited by MDP
  • 0
Posted (edited)

У меня попутно другой вопрос....я находил здесь на форуме команду в кинетике, но сейчас найти не могу.

Суть: 

Я из интернета спокойно подключаюсь к nextcloud, но как только я подключаюсь к роутеру, то nextcloud становится недоступен по https://xxx.yyy.keenetic.pro/nextcloud

по http://IP-address-local/nextcloud естественно доступен, но каждый раз руками переключать как-то бездуховно...

Подскажите, что в роутере прописать надо?

У меня зарегин домен 4 уровня  xxx.yyy.keenetic.pro сертификат сформирован, запросы по https перенаправляются на http

 

разобрался

Edited by MDP
  • 0
Posted

Сейчас у меня 504 Gateway Time-out nginx/1.18.0 (Ubuntu)...
Если не сложно, скиньте пожалуйста Ваши настройки nginx + config.php

  • 0
Posted
1 час назад, Gvadik сказал:

Сейчас у меня 504 Gateway Time-out nginx/1.18.0 (Ubuntu)...
Если не сложно, скиньте пожалуйста Ваши настройки nginx + config.php

У меня Апач ... конфиг скину вечером

  • 0
Posted
15 часов назад, MDP сказал:

overwritehost' => 'web.server.keennetic.pro',

'overwriteprotocol' => 'https',

Это лишнее.

А вот 

15 часов назад, MDP сказал:

trusted_proxies

Скорее всего ага.

 

  • 0
Posted
10 часов назад, MDP сказал:

У меня Апач ... конфиг скину вечером

Не ждать сегодня?

  • 0
Posted

Спасибо большое! Получилось! Если выставить в настройках кинетика как вы написали, то у меня 504 time-out, а если выставить xxxx.yyyy.keenetic.pro  и  --->80 HTTP---> 192.168.1.2, то всё работает замечательно. И ещё. В общих настройках nextcloud присутствуют замечания:

Предупреждения о текущей конфигурации.
Заголовки обратного прокси настроены неправильно, либо подключение к серверу Nextcloud осуществляется через доверенный прокси. Если Nextcloud открыт не через доверенный прокси, то это проблема безопасности, которая может позволить атакующему подделать IP-адрес, определяемый сервером Nextcloud. Дополнительная информация представлена в документации ↗.

Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим подсказкам по безопасности ↗.


Веб-сервер не настроен должным образом для разрешения «/.well-known/webfinger». Дополнительная информация представлена в документации ↗.


Веб-сервер не настроен должным образом для разрешения «/.well-known/nodeinfo». Дополнительная информация представлена в документации ↗.


Заголовок HTTP «Referrer-Policy» не содержит значения «no-referrer», «no-referrer-when-downgrade», «strict-origin» или «strict-origin-when-cross-origin», что может привести к утечке информации об адресе источника перехода по ссылке. Для получения более подробной информации обратитесь к рекомендациии W3C ↗.

 

Было ли у вас такое и как исправляли?

  • 0
Posted
1 минуту назад, Gvadik сказал:

 И ещё. В общих настройках nextcloud присутствуют замечания:

Предупреждения о текущей конфигурации.
Заголовки обратного прокси настроены неправильно, либо подключение к серверу Nextcloud осуществляется через доверенный прокси. Если Nextcloud открыт не через доверенный прокси, то это проблема безопасности, которая может позволить атакующему подделать IP-адрес, определяемый сервером Nextcloud. Дополнительная информация представлена в документации ↗.

Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим подсказкам по безопасности ↗.


Веб-сервер не настроен должным образом для разрешения «/.well-known/webfinger». Дополнительная информация представлена в документации ↗.


Веб-сервер не настроен должным образом для разрешения «/.well-known/nodeinfo». Дополнительная информация представлена в документации ↗.


Заголовок HTTP «Referrer-Policy» не содержит значения «no-referrer», «no-referrer-when-downgrade», «strict-origin» или «strict-origin-when-cross-origin», что может привести к утечке информации об адресе источника перехода по ссылке. Для получения более подробной информации обратитесь к рекомендациии W3C ↗.

 

Было ли у вас такое и как исправляли?

Эти ошибки гуглением исправлять ))))  Тут заругают за непрофильный топик. 

  • 0
Posted
В 12.07.2022 в 14:07, Gvadik сказал:

если выставить xxxx.yyyy.keenetic.pro  и  --->80 HTTP---> 192.168.1.2,

А как это сделать? Толком не пойму

  • 0
Posted
В 12.07.2022 в 07:09, MDP сказал:

Ну вот так пока...возможно что-то лишнее.

Апач вообще не трогал после установки

В кинетике зарегистрировал домен 4 уровня xxxx.yyyy.keenetic.pro  и  ---> 443----> 192.168.1.253:80

nextcloud на 80 порту 192.168.1.253 

Снимок.PNG

Не могли бы вы продублировать настройки. Картинка больше не доступна.

  • 0
Posted
2 часа назад, obezyanoid сказал:

Не могли бы вы продублировать настройки. Картинка больше не доступна.

Эх... я некстлаудом поигрался и удалил... играюсь с другим уже.

  • 0
Posted
2 минуты назад, MDP сказал:

с другим уже.

А с каким? 

  • 0
Posted
В 08.07.2022 в 15:47, Pop70 сказал:

0 => '192.168.1.2'

Скажите пожалуйста, а как Вы настраиваете безопасность?

В Вашем кинетике пробрасываются HTTP-заголовки?

 

У меня на kn-1810 не пробрасываются заголовки:

HTTP_CLIENT_IP =
HTTP_X_REAL_IP =
HTTP_X_FORWARDED_FOR =
REMOTE_ADDR =192.168.8.1

Соответственно прописывая в trusted_domains IP роутера сразу отключаешь защиту от брутфорса для всех.

Ну и в логах Nextcloud также везде IP роутера и не понять кто откуда пришел.

  • 0
Posted
В 27.03.2023 в 14:38, panivan сказал:

Скажите пожалуйста, а как Вы настраиваете безопасность?

В Вашем кинетике пробрасываются HTTP-заголовки?

 

У меня на kn-1810 не пробрасываются заголовки:

HTTP_CLIENT_IP =
HTTP_X_REAL_IP =
HTTP_X_FORWARDED_FOR =
REMOTE_ADDR =192.168.8.1

Соответственно прописывая в trusted_domains IP роутера сразу отключаешь защиту от брутфорса для всех.

Ну и в логах Nextcloud также везде IP роутера и не понять кто откуда пришел.

Через CLI в кинетике настраивается проброс заголовков.

  • 0
Posted (edited)

Друзья, кому удалось настроить внешний доступ к nextcloud через keendns, скажите как удалось это сделать и покажите свой config.php

Edited by Олег Осипов

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.