сервер node.js для возврата /, статические файлы из / public / через nginx? - PullRequest
5 голосов
/ 03 апреля 2011

У меня маленькая проблема с Расмусом Андерссоном, потрясающий шаблон node.js EC2 http://rsms.me/2011/03/23/ec2-wep-app-template.html

хорошо, проблема

Мне бы хотелось, чтобы ответ root-URL http://www.mydomain.com/ был доставлен сервером node.js (который прослушивает порт 3000)

nginx должен по-прежнему доставлять все статическое из / public / (поэтому nginx должен сначала посмотреть в / public /, если его там нет, передайте запрос в node.js на порт 3000) т.е.:

это мой /etc/nginx/sites-available/mydomain-http файл конфигурации. я знаю, что мне придется переписать местоположение / часть, но я не знаю, что мне нужно туда вставить.

спасибо

## Access over HTTP (but not HTTPS)
server {
  listen        80;
  listen        [::]:80 default ipv6only=on;
  access_log    /var/log/nginx/access.log;
  location / {
    root        /var/mydomain/public;
    index       index.html;
    error_page  404 = @backend;
  }
  location @backend {
    proxy_pass          http://127.0.0.1:3000;
    proxy_set_header    X-Client-IP  $remote_addr;
  }
}

1 Ответ

3 голосов
/ 04 апреля 2011

Я отвечаю на этот вопрос сам, так как нашел решение после множества слов "о боже ... ... я не могу поверить, что это не работает".в моем случае не хватало

error_page 403 = @backend;

в главном блоке сервера, поскольку запрос / не вернул http 404 (файл не найден), но http 403 (нет доступа).

проблема была отправлена ​​обратно в проект как проблема №.5 https://github.com/rsms/ec2-webapp/issues#issue/5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...