Nginx to Apache2 Директива Location, proxy_pass, отдельный IP, перенаправление HTTPS на HTTP, nextcloud

Хорошо, у меня 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?) Вот картина того, что я получаю:

nextcloud_error

У меня почти такая же проблема с 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, поэтому файл наверняка существует. Есть идеи?

0
задан 20 November 2016 в 17:08
1 ответ

Основная часть, отсутствующая в моей конфигурации, была 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;
    }
0
ответ дан 5 December 2019 в 09:10

Теги

Похожие вопросы