Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Правильное указание servername Настройка Nginx как Frontend к Web-серверу Apache  (Прочитано 716 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tehnology-online

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Техника для дома
Смотрю инструкции по настройке. В некоторых

listen       80;
server_name  .site.ru

в других

server_name  localhost

в третьих

server_name  _

А как правильно то и почему?

Пользователь решил продолжить мысль 16 Марта 2015, 20:46:42:
Неужели здесь никто не знает, как правильно писать server_name в nginx
« Последнее редактирование: 16 Марта 2015, 20:46:42 от tehnology-online »

Оффлайн tehnology-online

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Техника для дома

http://nginx.org/ru/docs/http/request_processing.html

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

Пользователь решил продолжить мысль [time]18 Март 2015, 03:08:29[/time]:
С другой стороны учитывая что в инструкции написано

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

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

Пользователь решил продолжить мысль 18 Марта 2015, 14:43:52:
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, вне зависимости от имени обрабатывается в обязательном порядке, и там уже без разницы что указывать.
А как оно на самом деле я надеялся, что мне объяснят здесь. И надеюсь не на двухсмысленных ответ навроде да или нет
 
« Последнее редактирование: 18 Марта 2015, 14:43:52 от tehnology-online »

 

Страница сгенерирована за 0.031 секунд. Запросов: 27.