Рейтинг:0

nginx обслуживает статические файлы и обратный прокси

флаг za

Я хочу, чтобы браузер постоянно общался (веб-сокет) с моими внутренними серверами, поскольку они постоянно получают данные. Но я также хочу, чтобы nginx обслуживал их статические файлы. Другими словами, я хочу, чтобы nginx обслуживал статические файлы, А ТАКЖЕ прокси для моих внутренних серверов.Я попытался поместить обе директивы в один и тот же блок местоположения:

место расположения / {

        # ОБСЛУЖИВАТЬ СТАТИЧЕСКИЕ ФАЙЛЫ:
        корень C:бла/бла/бла;
        индексировать mysite.html;

        # ANDDDD ОБРАТНЫЙ ПРОКСИ НА БЭКЕНД-СЕРВЕРАХ:
        прокси_пасс https://бэкенд;
        прокси_http_версия 1.1;
        proxy_set_header Обновить $http_upgrade;
        proxy_set_header Соединение "обновление";
        proxy_read_timeout 86400;
}

.. но это просто пропускает обслуживание статических файлов и переходит прямо к моим внутренним серверам.

Я также пробовал:

место расположения / {

# ОБСЛУЖИВАТЬ СТАТИЧЕСКИЕ ФАЙЛЫ:
корень C:бла/бла/бла;
индексировать mysite.html;
try_files $uri $uri/ @proxy;

}

местоположение @прокси {

# ANDDDD ОБРАТНЫЙ ПРОКСИ НА БЭКЕНД-СЕРВЕРАХ:
прокси_пасс https://бэкенд;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение "обновление";
proxy_read_timeout 86400;

}

.. но, конечно, это просто обслуживает статические файлы и не работает с прокси-сервером, поскольку был найден mysite.html.

Я также пробовал:

место расположения / {

# ОБСЛУЖИВАТЬ СТАТИЧЕСКИЕ ФАЙЛЫ:
корень C:бла/бла/бла;
индексировать mysite.html;

}

место расположения / {

# ANDDDD ОБРАТНЫЙ ПРОКСИ НА БЭКЕНД-СЕРВЕРАХ:
прокси_пасс https://бэкенд;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение "обновление";
proxy_read_timeout 86400;

}

.. но это выдает ошибку, так как теперь есть две локации/блока.

Кто-нибудь знает, как заставить nginx обслуживать статические файлы и прокси-сервер на внутреннем сервере?

флаг ru
Почему вы хотите, чтобы файл обслуживался дважды? Я не думаю, что можно сделать 2 запроса из одного.
Рейтинг:1
флаг us

индексировать mysite.html директива делает сервер nginx мой сайт.html ко всем запросам, которые заканчиваются на /.

Если вы хотите обслуживать файлы из бэкенда только тогда, когда статический файл не найден, вам необходимо иметь:

место расположения / {
    # ОБСЛУЖИВАТЬ СТАТИЧЕСКИЕ ФАЙЛЫ:
    корень C:бла/бла/бла;
    try_files $uri $uri/ @proxy;
}

местоположение @прокси {
    # ANDDDD ОБРАТНЫЙ ПРОКСИ НА БЭКЕНД-СЕРВЕРАХ:
    прокси_пасс https://бэкенд;
    прокси_http_версия 1.1;
    proxy_set_header Обновить $http_upgrade;
    proxy_set_header Соединение "обновление";
    proxy_read_timeout 86400;
}

Ответить или комментировать

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