LINUX.ORG.RU

Если правильно указывать название сайта, то для чего нужны остальные варианты, тот же localhost и как указать сразу все сайты

tehnology-online
() автор топика

Этот вопрос обычно подробно освещается в документации.

thesis ★★★★★
()
Ответ на: комментарий от tehnology-online

Вот я почитал, и, учитывая, server_name указывает инструкцию для обработки nginx, пришел все таки к выводу, что должен быть указан localhost так как задача nginx освободить сервер apache. А apache должен видимо вернуть localhost. Или я что-то не правильно понял?

tehnology-online
() автор топика
Ответ на: комментарий от tehnology-online

С другой стороны учитывая что в инструкции написано

location / { proxy_pass http://127.0.0.1:81/;

То видимо все-таки запрос идет на сервер apache, а значит в server_name должно быть указан название сайта. Если так, то как указать server_name для всех сайтов. И как же оно все таки происходит на самом деле?

tehnology-online
() автор топика
Ответ на: комментарий от tehnology-online

сервер_нейм нужен для проверки по полю «host», которое передаётся клиентом (браузером, к примеру). Если же нужно прокcировать все запросы на бэкенд то в совокупности с proxy_pass есть вот это http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name_in_redirect

то как указать server_name для всех сайтов

http://nginx.org/en/docs/http/server_names.html

PS: Апач вообще можно выкинуть за ненадобностью

PPS: у nginx неплохая wiki

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 1)
Ответ на: комментарий от invokercd

Apache мне нужен, потому что я пишу скрипты не только для себя. В общем-то я и читаю документацию, и на основе документации и задал здесь вопросы. Все внешние запросы получается отдает и принимает nginx. Т.е. он принимает запрос смотрит listen 80; server_name .site.ru, видит что запрос пришел с такого-то сайта. Значит там вместо .site.ru должна стоять какая-то универсальная переменная передает это дело location / { proxy_pass http://127.0.0.1:81/; Которая перенаправляет запрос http://127.0.0.1:81/, т.е. получается серверу apache, а сервер обрабатывает отдает Nginx и освобождается, а nginx уже отдает готовые страницы клиенту. Но с другой стороны возможно server_name localhost как раз и пишут для того, чтобы nginx принял запросы от apache, обработал их и отправил клиенту. В третьих вполне возможно, что server_name localhost server_name _ Служат как раз для того, чтобы как написано в документации «это просто одно из множества некорректных доменных имён, которые никогда не пересекутся ни с одним из реальных имён» Не ясно для чего может вообще понадобиться писать подобный server_name, если он никогда не пересечется в реальности то и обрабатывать нечего. Другое дело, что например возможно что самая последняя инструкция server_name, вне зависимости от имени обрабатывается в обязательном порядке, и там уже без разницы что указывать. А как оно на самом деле я надеялся, что мне объяснят здесь. И надеюсь не на двухсмысленных ответ навроде да или нет

tehnology-online
() автор топика
Ответ на: комментарий от tehnology-online

Apache мне нужен, потому что я пишу скрипты не только для себя.

Какие еще скрипты? Апач - это веб сервер, а не интерпритатор.

Если server_name не найден то соответственно:

Служат как раз для того, чтобы как написано в документации «это просто одно из множества некорректных доменных имён, которые никогда не пересекутся ни с одним из реальных имён

А как оно на самом деле я надеялся, что мне объяснят здесь

я же вроде ответит вот тут:

Если же нужно прокcировать все запросы на бэкенд то в совокупности с proxy_pass есть вот это http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name_in_redirect

в этом случае server_name не указывается

invokercd ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.