Почему NextCloud не принимает логин с домена, с которого должен?

Вопрос или проблема

У меня есть локальная сеть с диапазоном 192.168.68.1/24, подключенная к модему 192.168.15.1/24, и TrueNAS Scale 24.10, Tailscale, NPM и NextCloud на IP 192.168.68.68 с именем ada. SSL пока не используется.

Недавно я пытался настроить странную конфигурацию с SSL, которая не сработала, так что я решил вернуться к этапу, где все работает только с портами и без SSL (поэтому NPM фактически ничего не делает и имеет пустую конфигурацию).

Я правильно настроил Tailscale для работы без HTTPS, так что я могу без проблем получить доступ как через 192.168.68.68, ada, так и через ada.alpha-centauri.ts.net практически ко всему: веб-админ на :80, админ nginx на :30020, NextCloud на :30027 и даже к моей странной настройке subversion на :3690.

За исключением одного: NextCloud не принимает вход через ada.alpha-centauri.ts.net. Он не выдает сообщения «не доверенный домен» или другие. Он просто 🔄 на полсекунды, и я остаюсь на странице входа. Если я войду через 192.168.68.68, IP Tailscale, ada, то всё работает отлично.

Лог docker NextCloud для этого события выглядит так:

2025-03-09 16:34:20.658522+00:00172.16.2.1 - - [09/Mar/2025:16:34:20 +0000] "POST /login HTTP/1.1" 303 1910 "http://ada.iguana-centauri.ts.net:30027/login?direct=1&user=dandrea" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
2025-03-09 16:34:20.658522+00:00172.16.2.1 - - [09/Mar/2025:16:34:20 +0000] "POST /login HTTP/1.1" 303 1910 "http://ada.alpha-centauri.ts.net:30027/login?direct=1&user=dandrea" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
2025-03-09 16:34:20.720773+00:00172.16.2.1 - - [09/Mar/2025:16:34:20 +0000] "GET /login?direct=1&user=dandrea HTTP/1.1" 200 8488 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
2025-03-09 16:34:21.530861+00:00127.0.0.1 - - [09/Mar/2025:16:34:21 +0000] "GET /status.php HTTP/1.1" 200 1068 "-" "curl/7.88.1"

Значимая информация в ./config/config.php (я удалил некоторые критические строки):

<?php
$CONFIG = array (
  'htaccess.RewriteBase' => "https://superuser.com/",
  'overwrite.cli.url' => 'http://ada.alpha-centauri.ts.net/nextcloud',
  'preview_imaginary_url' => 'http://imaginary:9000',
  'overwriteprotocol' => 'http',
  'trusted_proxies' =>
  array (
    0 => '127.0.0.1',
    1 => '192.168.68.68',
    2 => '192.168.0.0/16',
    3 => '172.16.0.0/12',
    4 => '10.0.0.0/8',
  ),
  'trusted_domains' =>
  array (
    0 => '127.0.0.1',
    1 => '192.168.68.68',
    2 => 'ada',
    3 => 'ada.alpha-centauri.ts.net',
    4 => 'ada.local',
    5 => 'localhost',
    6 => 'nextcloud',
  ),
);

Я не знаю, как это отладить. Есть какие-либо идеи?

Ответ или решение

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

Теория

В вашем сетапе есть несколько ключевых компонентов, которые могут влиять на работу NextCloud:

  1. Доверенные домены NextCloud: Это домены, с которых NextCloud позволяет подключаться. Он не должен блокировать доступ с добавленных в trusted_domains доменов.

  2. Прокси и переадресация: Поскольку Nginx Proxy Manager (NPM) и другие компоненты, такие как Tailscale, используются в вашей конфигурации, они могут накладывать дополнительные уровни обработки и маршрутизации запросов к NextCloud.

  3. Конфигурация Tailscale и локальная сеть: Возможно, взаимодействие между компонентами локальной сети и Tailscale влияет на маршрутизацию.

  4. Конфигурация NextCloud: Некорректные настройки, такие как overwrite.cli.url и overwriteprotocol, могут неправильно направлять запросы и редиректы.

Примеры

На основе предоставленной информации:

  • Лог действий: Ваш Docker-лог показывает, что NextCloud обрабатывает POST запросы на /login, но затем выдаёт GET на ту же страницу, что говорит о неудавшейся авторизации.

  • Конфигурация:

    • overwrite.cli.url указывает на /nextcloud, но путь в GET запросе /login?direct=1&user=dandrea показывает, что адреса могут не соотноситься корректно.
    • overwriteprotocol установлен на http, что может вызвать проблемы, если некоторые компоненты ожидают HTTPS соединение или некорректно обрабатывают HTTP.

Применение

Следующие шаги помогут в устранении проблемы:

  1. Изменение конфигурации NextCloud:

    • Проверьте и измените overwrite.cli.url на 'http://ada.alpha-centauri.ts.net:30027/'. Это должно соответствовать маршруту, по которому вы обращаетесь к NextCloud.

    • Убедитесь, что все использованные IP-адреса и домены, такие как 'ada.alpha-centauri.ts.net', добавлены в массив trusted_domains.

    • Рассмотрите возможность удаления или проверки htaccess.RewriteBase и других специфических настроек, которые могут конфликтовать с текущей настройкой.

  2. Тестирование и диагностика сети:

    • Проверьте работу Tailscale и убедитесь, что он корректно перенаправляет трафик в сеть 192.168.68.0/24.

    • Убедитесь, что ваш обход SSL с использованием 80-го порта настроен верно и не вызывает проблемы при работе с прокси или Tailscale.

  3. Просмотр логов и отладка:

    • Активируйте режим отладки в NextCloud для более детальной информации о процессе логина. Это делается через изменение уровня журналирования в файле config.php ('loglevel' => 0).

    • Проверьте логи Tailscale и, возможно, Nginx Proxy Manager на наличие анормальных действий или ошибок, чтобы убедиться, что прокси и маршрутизация работают правильно.

  4. Изоляция проблемы:

    • Попробуйте временно отключить NPM и Tailscale, если они не критичны для связи, чтобы проверить работу NextCloud напрямую через ваш локальный IP и домены. Это упростит диагностику.

В итоге, проблема с доступом через ada.alpha-centauri.ts.net возникает, возможно, из-за несоответствий в конфигурациях и взаимодействиях между компонентами сети. Применение вышеуказанных решений должно помочь в нахождении источника проблемы и ее устранении.

Оцените материал
Добавить комментарий

Капча загружается...