Nextcloud доступ через недоверенный домен как исправить

На имеющемся рабочем сервере FreeNAS установить облачное хранилище NextCloud

Print Friendly, PDF & Email

Задача:

На имеющемся рабочем сервере FreeNAS установить облачное хранилище NextCloud

—————————————————————

Авторизуемся на сервере FreeNAS и переходим в главном меню в раздел “Plugins”. Находим “NextCloud” и устанавливаем

Указываем имя и настройки сети. Если вы хотите, чтобы nextcloud имел одинаковый IP-адрес с сервером FreeNAS, тогда активируем опцию “NAS”. В этом случае nextcloud будет работать на нестандартном для веб-сервера порту. Если в сети есть DHCP-сервер можете активировать соответствующую опцию. Для более детальной настройки воспользуйтесь “Advanced plugin installation” Если всё необходимой настроили, нажимаем “Save” и дожидаемся завершения установки.

Из лога установки видно, что nextcloud имеет локальный адрес класса С

Install Notes:
nginx_enable: -> YES
mysql_enable: -> YES
php_fpm_enable: -> YES
Performing sanity check on nginx configuration:
Starting nginx.
Performing sanity check on php-fpm configuration:
Starting php_fpm.
Starting mysql.
SQL Temp Password: uP;a!Elef*a.
SQL Temp Password: uP;a!Elef*a.
mysql: [Warning] Using a password on the command line interface can be insecure.
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
mysql: [Warning] Using a password on the command line interface can be insecure.
Nextcloud was successfully installed
mysql: [Warning] Using a password on the command line interface can be insecure.
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
mysql: [Warning] Using a password on the command line interface can be insecure.
System config value trusted_domains => 1 set to string 172.16.0.2
mysql: [Warning] Using a password on the command line interface can be insecure.
Performing sanity check on php-fpm configuration:
mysql: [Warning] Using a password on the command line interface can be insecure.
Stopping php_fpm.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
Waiting for PIDS: 10607, 10607.
mysql: [Warning] Using a password on the command line interface can be insecure.
Performing sanity check on php-fpm configuration:
mysql: [Warning] Using a password on the command line interface can be insecure.
Starting php_fpm.
mysql: [Warning] Using a password on the command line interface can be insecure.
Performing sanity check on nginx configuration:
mysql: [Warning] Using a password on the command line interface can be insecure.
Stopping nginx.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
Waiting for PIDS: 10598, 10598.
mysql: [Warning] Using a password on the command line interface can be insecure.
Performing sanity check on nginx configuration:
mysql: [Warning] Using a password on the command line interface can be insecure.
Starting nginx.
mysql: [Warning] Using a password on the command line interface can be insecure.
Admin Portal:
http://172.16.0.2

В списке можно увидеть установленный nextcloud сервер. Логин и пароли к серверу можно глянуть , нажав “Post install notes”.

Нажимаем кнопку “Manage” чтобы перейти к веб-интерфейсу nextcloud. В моём случае потребовалось донастроить сервер.

Доступ через недоверенный домен

Обратитесь к администратору. Если вы являетесь администратором этого сервера, отредактируйте параметр «trusted_domains» в файле «config/config.php». Пример настройки можно найти в файле «config/config.sample.php».

Дополнительная информация как это настроить может быть найдена в документации

В главном меню выбираем “Jail” . Кнопной “Edit” можно изменить ip-адрес и настроить всё тоже самое, что было доступно при установке nextcloud. В нашём случае нам необходим доступ к консоли сервера, нажимаем “Shell”

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

Редактируем конфиг

ee /usr/local/www/nextcloud/config/config.php

В секции “trusted_domains” я дописал IP-адрес NextCloud сервера, чтобы не напутать, просто в установленном плагине nextcloud нажмите “Manage” о которой упоминалось немного выше.

Проверяем работе nextcloud. Где взять логин и пароль я описывал выше.

Всё, nextcloud установлен

Другие статьи

  • 0
  • Answer this question

  • Ask a question

Question

Gvadik

Member

    • Share

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

  • Quote

Link to comment
Share on other sites

Recommended Posts

  • 1

MDP

Honored Flooder

    • Share

9 часов назад, Gvadik сказал:

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

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

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

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

nextcloud на 80 порту 192.168.1.253 

Снимок.PNG


Edited July 12, 2022 by MDP

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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.

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

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

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

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

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

А где у Вас крутится nginx c nextcloud?

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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

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

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

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

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

server {
    listen 80;

root /var/www/nextcloud;

}

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

Спасибо, я проверю позже, о результатах отпишусь.

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

По 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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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

0 => ‘192.168.1.2:20000’,

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

0 => ‘192.168.1.2’

1 => ‘web.server.keennetic.pro’

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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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

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

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

Судя по конфигу nginx на 80 порту

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

MDP

Honored Flooder

    • Share

В 08.07.2022 в 16:05, Gvadik сказал:

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

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

в config.php

‘overwritehost’ => ‘web.server.keennetic.pro’,

‘overwriteprotocol’ => ‘https’,

‘trusted_proxies’ =>

array (

0 => ‘IP Keenetic’,

),


Edited July 10, 2022 by MDP

  • Quote

Link to comment
Share on other sites

  • 0

MDP

Honored Flooder

    • Share

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

Суть: 

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

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

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

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

разобрался


Edited July 10, 2022 by MDP

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

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

  • Quote

Link to comment
Share on other sites

  • 0

MDP

Honored Flooder

    • Share

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

Pop70

Content Generator

    • Share

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

overwritehost’ => ‘web.server.keennetic.pro’,

‘overwriteprotocol’ => ‘https’,

Это лишнее.

А вот 

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

trusted_proxies

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

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

Gvadik

Member

  • Author
    • Share

Спасибо большое! Получилось! Если выставить в настройках кинетика как вы написали, то у меня 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 ↗.

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

  • Quote

Link to comment
Share on other sites

  • 0

MDP

Honored Flooder

    • Share

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 ↗.

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

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

  • Quote

Link to comment
Share on other sites

  • 0

maxsmeller

Newbie

    • Share

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

obezyanoid

Newbie

    • Share

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

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

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

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

nextcloud на 80 порту 192.168.1.253 

Снимок.PNG

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

  • Quote

Link to comment
Share on other sites

  • 0

MDP

Honored Flooder

    • Share

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

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

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

  • Quote

Link to comment
Share on other sites

  • 0

krass

Honored Flooder

    • Share

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

с другим уже.

А с каким? 

  • Quote

Link to comment
Share on other sites

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.

  • Recently Browsing

      0 members

    • No registered users viewing this page.

Reading Time: 3 minutes

I saw error with “Access through an un trusted domain” when I accessed with domain name…
I saw router page when I accessed nextcloud from home Wi-Fi…

You will find solution after reading this post.

As a precondition, domain name setting has been done.
If you have not set it, please refer to this page.

Reviewing Nextcloud settings

The nextcloud configuration file has a list of trusted domain names, so let’s add them.

yasu@raspberrypi:~ $ sudo nvim /var/www/html/nextcloud/config/config.php

  array (
    0 => '192.168.1.20',              # <- This is already there
    1 => 'yasufumi-yokoyama.gq',      # <- Add it
    2 => 'www.yasufumi-yokoyama.gq',  # <- Add it
  ),

That’s it.

How to resolve issue of going router page when you access it with domain name

When I accessed yasufumi-yokoyama.gq in my environment, I saw router setting page like this:
(Sorry only Japanese page)

To resolve this there needs to convert from yasufumi-yokoyama.gq to local IP address(not global IP address) because normally yasufumi-yokoyama.gq is converted to global IP address which is IP address of rounter itself, hence rounter page is displayed.

To resolve this I will do it.
– Set up a DNS server
– Configure DNS server to resove yasufumi-yokoyama.gq to local IP address

Set up a DNS server – dnsmasq –

There’s already Raspberry Pi 4, so let’s put a DNS server in there!
dnsmasq is very easy to setup, configure.

# Install dnsmasq
pi@raspberrypi:~ $ sudo apt install dnsmasq

# Setup dnsmasq resolves only yasufumi-yokoyama.gq name and otherwise delegates to a regular DNS server
pi@raspberrypi:~ $ sudo nvim /etc/hosts

# Add the following two lines to the end of /etc/hosts
# Www No, both domain names
192.168.1.20 yasufumi-yokoyama.gq
192.168.1.20 www.yasufumi-yokoyama.gq

# Restart dnsmasq
pi@raspberrypi:~ $ sudo systemctl restart dnsmasq

Change router settings

Next is the settings on the router side.
Since the router is usually a DNS server of home Wi-Fi, so add item to list for forwarding DNS query of yasufumi-yokoyama.gq to Raspberry Pi 4.

In my case I am using an RS-500KI, and there was a setting here.
– top page(トップページ) -> Advanced(詳細設定) -> DNS settings(DNS設定)

In entry 1 of local domain query table(ローカルドメイン問合せテーブル), query request about yasufumi-yokoyama.gq will be transferred to DNS server you specified.
DNS server should be Raspberry Pi 4.

RS-500KI requires only IPv6 address for DNS server address.
Let’s check the IPv6 address of Raspberry Pi 4.

pi@raspberrypi:~ $ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::6637:6bde:4579:381b prefixlen 64 scopeid 0x20 <link>
inet6 2408:211:b0:dd00:ffef:f44f:9e78:bad7 prefixlen 64 scopeid 0x0 <global>
ether dc:a6:32:bf:f5:d4 txqueuelen 1000 (Ethernet)
RX packets 126 bytes 17554 (17.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 81 bytes 12776 (12.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</global> </UP,BROADCAST,RUNNING,MULTICAST>

The string starting from 2408 in this is IPv6.
Input and set it on the router settings.

I tried to access it for confirmation.
It’s working as expected!

However, when I accessed http://www.yasufumi-yokoyama.gq here, the screen was displayed as http instead of https.

Change apache2 settings to solve it.

pi@raspberrypi:~ $ sudo nvim /etc/apache2/sites-enabled/000-default.conf

# Contents of 000-default.conf below
<VirtualHost *:80="">
RewriteEngine on
RewriteCond %{SERVER_NAME} =yasufumi-yokoyama.gq
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
# ↓Add these two line
RewriteCond %{SERVER_NAME} =www.yasufumi-yokoyama.gq
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI[END,NE,R=permanent]} 
</VirtualHost>

# apache2 reboot
pi@raspberrypi:~ $ sudo systemctl restart apache2

http://www.yasufumi-yokoyama.gq is now also converted to https.

Conclusion

How was it?

It takes time and effort to become an environment that can be used in its way …

I never give up to setup convenient environment!

Понравилась статья? Поделить с друзьями:
  • Nextcloud внутренняя ошибка сервера id запроса
  • Nextcloud redis internal server error
  • Nextcloud internal server error after upgrade
  • Nextcloud curl error 28 operation timed out after 120000 milliseconds
  • Nextcloud 500 internal server error