Помощь в настройке nginx

V
На сайте с 12.03.2009
Offline
37
707

приветствую

может кто может помочь советом, как правильно описать правила

суть такая, если идет запрос на морду / надо отдавать страничку которая лежит на сервере nginx, а все остальное уже грузить proxy_pass.

Два раза прописать одну конструкцию не получается (location / {})

отдеть первый локейшен для локального файла, но вот как полностью описать все остальное содержимое сайта, которой будет забираться с backend.

спасибо

iHead
На сайте с 25.04.2008
Offline
137
#1

примерно так

location = / {
# static here
root /path/to/dir;
}

location / {
proxy_pass ...
}
Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
V
На сайте с 12.03.2009
Offline
37
#2

Не, не сработало. Специально положил разные версии, почистил кеш, рестартнул nginx. Все равно выдаетяс версия proxy_pass, локальная не цепляется по первой директиве.

iHead
На сайте с 25.04.2008
Offline
137
#3
vkusnosti:
Не, не сработало. Специально положил разные версии, почистил кеш, рестартнул nginx. Все равно выдаетяс версия proxy_pass, локальная не цепляется по первой директиве.

значит вы что-то делаете не так или запрос приходит не к / или вобще не в этот сервер :)

V
На сайте с 12.03.2009
Offline
37
#4

У меня не так много серверов, что бы потерять запрос :)

делаю точно так, как рекомендовали

первый = /, второй /

где тут можно запутаться?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#5

порядок следования location {} важен. Приведите в этом случае ваш конфигурационный файл полностью. Вы что-то не договариваете.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
V
На сайте с 12.03.2009
Offline
37
#6

Про это я тоже в курсе, я не чайник. Просто nginx для меня конечно не столь понятен, как апач.

вот мой конф


location = / {
root /home/server/www/;
index index.html index.htm;
}

location / {
proxy_pass http://127.0.0.1:8081;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

еще есть локейшен, но для php, приводить его смысла нет, сейчас работает все на статических 2 страничка. Одна индекс.хтмл, вторая индекс2.хтмл. Обе берутся с proxy_pass.

iHead
На сайте с 25.04.2008
Offline
137
#7

порядок location важен только для заданных рег. выражениями.

http://nginx.org/ru/docs/http/ngx_http_core_module.html#location

вы nginx перазапускали?

какими запросами проверяете?

V
На сайте с 12.03.2009
Offline
37
#8

Конечно перезапускал, выше специально указал все танцы, что делаю все по "классике".

Проверял очень просто в одном окне FF (ctrl+F5), в другом окне WGET (GET / HTTP/1.0 + Host директива)

Для полного удовлетворения, на свежую голову сейчас сделаю еще разок.

Перепроверил:

при прямом запросе или ctrl+f5 мне дается бекендовская версия, а не то, что лежит в статике.

Glueon
На сайте с 26.07.2013
Offline
172
#9

Вообще верно вам советуют. Чтобы точно отбросить все возможные варианты с тем, что статика казалась "бэкендом" попробуйте с "location = /" добавить "return 403".

Может быть при выдаче статики происходит 404 ошибка, которая в error_page переопределена, как страница на бэкенде?

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
V
На сайте с 12.03.2009
Offline
37
#10

проверил через 403 страничку, отработал обе секции. Работать заставил только через try_files.

Всем спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий