Перейти к содержанию

Вопрос

Опубликовано

Имею статический 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;

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)

trusted_proxies - лишний блок.

4 пункт тоже лишний. Достаточно добавить в config.php строку

'overwriteprotocol' => 'https'
Изменено пользователем Hater
  • 0
Опубликовано

У меня все работало до обновления некстклауда до 30.0.1. Теперь при работе по локальному IP 192.168.1.168 все доступно и работает, а по xxx.xxx.keenetic.pro - 502 Bad Gateway. В какую сторону порыть, подскажите пожалуйста... 

  • 0
Опубликовано (изменено)

Хм... Сутки промучался, пробовал и так и эдак настройки менять, потом надоело, не трогал день. Попробовал снова зайти - Too many redirects. Сменил в KeenDNS порт на 443 и все взлетело. Что было - непонятно... 

Изменено пользователем nuacho
  • 0
Опубликовано

Хм.. Поторопился радоваться. Утром снова 502 Bad Gateway... Что же это может быть? Я что-то уже в ступоре... По локалке все доступно при этом. 

  • 0
Опубликовано

На текущий момент у кого-то работает доступ к облаку через keen DNS?

Я изменил config.php следующим образом:

'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => '192.168.100.105', #ЭТО УЖЕ БЫЛО, ДОБАВЛЯЕМ СЛУДУЮЩИЕ СТРОКИ НИЖЕ.
  ),
  'overwritehost' =>'YOUR_DOMAIN.keenetic.pro',
  'overwriteprotocol' =>'https',

один раз я смог попасть в облако, но теперь ошибка 502 постоянно.

Как можно решить данную проблему?

  • 0
Опубликовано (изменено)

А кто его знает. Возможно и он.

Может это имеет значение: сам nextcloud поумолчанию работает по https на 443м порту, даже если заходить по http он будет перенаправлять на https. Вот моя настройка в роутере.

image.png.f546b1e242d647de4d1d5ac3562edb27.png

Изменено пользователем ala-a-din
  • 0
Опубликовано
В 22.03.2025 в 10:34, voitekhovich сказал:

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

СПАСИБО!
Я чуть ли не месяц мучался, до этого находил только инфу про preserve-host, но он не решал проблему, а вот preserve-origin реально решил проблему!
Жалко только эту редакцию комента я не увидел сразу и она не продублирована вниз. Я был здесь когда коммент был ещё не отредачен :)
В общем у кого проблема с входом (зацикленный логин) в Nextcloud от 31 версии через KeenDNS - ответ выше.

  • 0
Опубликовано (изменено)
В 22.03.2025 в 08:34, voitekhovich сказал:

Удалось заставить работать 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

* 192.168.1.1 - ip адрес keenetic 
* нужно сбросить dns кэш или подождать
* если используется KVAS, то можно добавить dns запись через команду kvas hosts edit

ДОПОЛНИТЕЛЬНО
Если нужно чтоб в логах 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'],

приветствую подскажи пожалуйста, а как сделать чтобы и другие диапазоны IP работали для доступа например у меня также был доступ через VPN (10.66.66.х, машина на 10.66.66.200 зарегистрировано, как клиент) и через tailscale ('mediaserver' или IP). Разъясни пожалуйста и на каких шагах нужно что поправить...

У меня связка KeenDNS+Nextcloud 31.0.4+Nginx.

Заранее спасибо

Изменено пользователем sA.1.Ros
  • 0
Опубликовано (изменено)
В 13.05.2025 в 15:53, sA.1.Ros сказал:

приветствую подскажи пожалуйста, а как сделать чтобы и другие диапазоны IP работали для доступа например у меня также был доступ через VPN (10.66.66.х, машина на 10.66.66.200 зарегистрировано, как клиент) и через tailscale ('mediaserver' или IP). Разъясни пожалуйста и на каких шагах нужно что поправить...

У меня связка KeenDNS+Nextcloud 31.0.4+Nginx.

Заранее спасибо

По tailscale не подскажу, но если там есть где указать ip адрес DNS сервера, то можно попробовать указать keenetic (192.168.1.1).

Я в качестве VPN использую SSTP.
Нужный домен добавил в DNS keenetic через CLI:

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

*192.168.1.1 - keenetic с keenDNS, сам nextcloud внутри домашней сети находится на другом ip адресе.
*если установлен KVAS, то SSTP его dns игнорирует

Теперь с другого устройства через VPN можно обращаться по указанному доменному имени.
DNS используется системный Keenetic'a.

*сразу почему-то так не работало, и в настройках SSTP включил "Множественный вход", потом без этого стало работать. А может так что было.

Изменено пользователем voitekhovich

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   1 пользователь онлайн

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.