Хорошо, у меня 2 сервера, один интерфейс на 192.168.1.100 работает с nginx, один бэкэнд на 192.168.1.151 работает с apache2. У меня nextcloud работает на порту 80 на внутреннем сервере, и я хочу подключиться к нему через прокси с моего внешнего сервера, работающего по https на 443. У меня проблемы с его правильной настройкой.
Я пробовал несколько конфигураций, и это config - самое близкое, что я могу найти. Вот моя директива расположения nginx:
location /nextcloud/ {
proxy_pass http://192.168.1.151:80/nextcloud/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
Вот мой файл nextcloud config.php:
'trusted_domains' =>
array (
0 => '192.168.1.151' ,
1 => '192.168.1.100' ,
2 => '*******.******.org' ,
),
'datadirectory' => '/var/www/nextcloud/data/',
'overwrite.cli.url' => 'https://********.*********.org/nextcloud/',
Когда я пытаюсь использовать URL-адрес, я получаю приглашение входа в систему nextcloud, но без форматирования (я предполагаю, что это как-то связано с https vs http?) Вот картина того, что я получаю:
У меня почти такая же проблема с GOGS (Git on Go). Я выполнил эту настройку с помощью apache2 на одном сервере (а не с несколькими IP-адресами), но не могу заставить его работать с nginx и отдельными IP-адресами.
РЕДАКТИРОВАТЬ: Должен был добавить мой журнал хромированной консоли. Как я и подозревал, он полон ошибок 404 для таких вещей, как: https: //*******.*******.org/nextcloud/core/js/login.js?v=49006b299079b9bc3c4fcdf3d018d44a
Я легко могу найти этот файл по адресу / var / www / nextcloud / core / js / login.js, поэтому файл наверняка существует. Есть идеи?
Основная часть, отсутствующая в моей конфигурации, была proxy_redirect http:// https://;
Это перенаправило бы весь http трафик на https без каких-либо проблем. С помощью нескольких настроек здесь и там, чтобы заставить его работать немного лучше, это моя текущая рабочая конфигурация:
location ^~ /nextcloud/ {
proxy_pass http://192.168.1.151/nextcloud/;
proxy_redirect http:// https://;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
}