Назад | Перейти на главную страницу

Поддомен Nginx не маршрутизируется на Node.js

У меня есть субдомен, который я хочу прокси через Nginx на Node.js.

domain.tld в настоящее время маршрутизируется стандартным способом через /opt/nginx/conf/nginx.conf.

Однако я также хочу subdomain.domain.tld направиться к domain.tld:8000.

Для этого я вставил в /etc/nginx/sites-available/subdomain.domain.tld.conf:

http{
    server {
            listen 0.0.0.0:80;
            server_name subdomain.tld.com;
            access_log /var/log/nginx/subdomain.domain.log;

            location / {
                    proxy_pass http://127.0.0.1:8000;
            }
    }
}

Nginx запускается нормально. Серверы имен поддомена настроены правильно.

Что я делаю не так? Большое спасибо за любую помощь заранее.

Изменить: Кроме того, я сделал символическую ссылку на файл из sites-available/ к sites-enabled/.

Изменить: точное содержимое /opt/nginx/conf/nginx.conf:

http://pastebin.com/wZJFPx7H

Изменить: сообщение об ошибке при запуске nginx:

 Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] still could not bind()

Прежде всего, проверьте наличие ошибок в журнале во время запуска.

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

proxy_pass 127.0.0.1:8000;

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

proxy_pass http://127.0.0.1:8000;

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

редактировать:

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