Nginx - Обратный прокси-сервер к уже обратному прокси-серверу или двойной обратный прокси-сервер? - PullRequest
0 голосов
/ 10 октября 2018

Я использую nginx на centos 7.

Я выполняю обратное проксирование удаленного сервера nodejs в той же локальной сети к корню nginx / согласно приведенному ниже:

    location / {

    proxy_pass http://192.168.1.104:3000/;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Это работаетотлично подходит для обслуживания моего веб-сайта - все внешние запросы на порт 80 переписываются для использования https, который был настроен в nginx, например, nginx перенаправляет любые входящие http-запросы в https и обрабатывает перезаписи и переадресацию, так что содержимое nodejs подается через ssl, даже если sslне был настроен в приложении узла.

например, мой сайт может быть доступен по адресу https://example.com

. Теперь я хочу реверсировать прокси другое приложение nodejs, чтобы оно отображалось в месте с префиксом https://example.com, например:https://example.com/node2/

Я пытался использовать приведенную ниже конфигурацию для сервера второго узла ...

    location /node2/ {

    proxy_pass http://192.168.1.100:3000/;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
    }

Когда я загружаю https://example.com/node2/ url, HTML-кодотображается корневая страница сервера второго узла, но ни одна из файлов css, js или images не загружается, поэтому страница не выглядит или не работает должным образом, и я вижу следующее в консоли браузера ...

Смешанный контент: Страница в 'https://example.com/node2/' была загружена по HTTPS, но запросил небезопасный образ' http://192.168.1.100:3000/assets/graphics/logo.png'. Этот контент также должен обслуживаться по HTTPS.

и

Не удалось загрузить ресурс: net :: ERR_CONNECTION_CLOSED https://192.168.1.100:3000/assets/css/styles.min.css

для ресурсов css и js ... так что, похоже, перенаправление не выполняется дляресурсы, а также любые ссылки на html-странице не показывают суффикс / node2 / при наведении курсора мыши или когдаcked, поскольку страница пытается загрузить ресурс из https://example.com вместо https://example.com/node2/

Возможно ли на самом деле делать то, что я хочу, с точки зрения обратного прокси-сервера в двух местах, и может ли кто-нибудь указать мне направильное направление, как я могу получить эту работу по мере необходимости?

1 Ответ

0 голосов
/ 13 октября 2018

Загружаемое приложение настроено на загрузку ресурсов из корня сервера, а не с корня сервера + / node2 /

...