Субдомен Nginx, не направляющий к Node.js

Это - несколько подробный обзор процесса. Я игнорирую некоторые специфические особенности маршрутизации. Фактическое решение по маршрутизации не настолько интересно, оно "просто" сводится к нахождению самого определенного маршрута (255.255.255.0, более определенная сетевая маска, чем 255.0.0.0). В маршрутизации условий интересный бит - то, как маршрутной информацией является propagatated через сеть (сети)).

  1. Пользователь входит http://www.example.com/ в браузере.
  2. Браузер использует или свой собственный lib сопоставителя или libresolv
  3. Библиотека сопоставителя запрашивает определенный хостом сервер (серверы) имен
  4. Сервер имен или знает ответ, ищет его от имени хоста или говорит, "спросите корневой сервер имен".
    1. Серверы имен могут повторно исправить до корневых серверов и попросить серверы имен, которые служат com. домену
    2. затем спросите кто серверы example.com. домен
    3. затем попросите IP-адрес www.example.com
  5. Браузер подражает, соединение TCP (отправляет SYN TCP) к IP-адресу www.example.com.
  6. Взгляды хоста в его таблице маршрутизации для следующего транзитного участка для того IP-адреса, затем передает кадр IP, со встроенным SYN TCP, с его собственным IP как источник и адрес www.example.com как место назначения. Это встраивается в кадр Ethernet с источником MAC исходящего интерфейса хоста и целевой MAC шлюза следующего транзитного участка.
  7. Шлюз по умолчанию принимает кадр, увеличивает TTL, повторно вычисляет контрольную сумму и пересылает его к следующему транзитному участку.
  8. Этот процесс продолжается, пока пакет IP не достигает маршрутизатора, самого близкого к www.example.com
  9. В той точке маршрутизатор видит, что это предназначено для локальной сети. Это консультируется со своей таблицей ARP, чтобы видеть, имеет ли это IP к MAC, отображающийся для места назначения.
    1. В противном случае это отправляет запрос ARP, для разрешения MAC-адреса для IP-адреса.
  10. Хост www.example.com получает SYN TCP, отправляет SYNACK TCP как ответ.
  11. Сетевой обход происходит как выше, только "наоборот".
  12. Пользовательский хост respons с ACK TCP.
  13. Когда ACK TCP прибывает в www.example.com, хост, ОС уведомляет веб-сервер это 14. существует соединение ожидания.
  14. Пользовательский хост отправляет HTTP-запрос GET
  15. Передачи хоста сервера HTTP ДОБИРАЮТСЯ до процесса веб-сервера.
  16. Процесс веб-сервера отвечает одним или несколькими пакетами с веб-страницей.
  17. Пользовательский хост передает этот трафик браузеру.
  18. Браузер анализирует HTML и отображает страницу пользователю (может быть больше инициируемых запросов, если существуют документы CSS, на которые ссылаются, изображения на которые ссылаются или другие связанные документы, которые могут быть необходимы для полного рендеринга),
1
задан 18 January 2012 в 05:24
1 ответ

Во-первых, проверьте наличие ошибок в журнале во время запуска.

Возможно, этот сервер не загружается из-за этого:

proxy_pass 127.0.0.1:8000;

Что следует изменить на:

proxy_pass http://127.0.0.1:8000;

Beyond сравните директиву listen с директивой в других блоках server - убедитесь, что она совпадает. Если они привязаны к определенному адресу вместо 0.0.0.0, то этот сервер не будет получать запросы.

изменить :

Для тех, кто нашел этот вопрос в в будущем блок субдомена server не включается - и блок include должен находиться внутри существующего блока http , чтобы избежать конфликтов привязки адресов.

1
ответ дан 4 December 2019 в 01:15

Теги

Похожие вопросы