2015-05-30 4 views
0

У меня есть сервер Node.js с Express, работающий на том же компьютере, на котором установлен Nginx. Это мой Nginx код на сайтах с поддержкой:Node.js Nginx POST-запрос

upstream project { 
    server 192.168.0.102:3100; 
} 
server { 
    listen 80; 
    location/{ 
     proxy_pass http://project; 
    } 
} 

С помощью этой конфигурации, когда я печатаю мой домен на общедоступном компьютере, на первой странице моего сайта показывает, так что это нормально. Но веб-страница - это форма, где я должен иметь возможность загружать данные на свой сервер, а когда я нажимаю на мой сайт, ничего не происходит. Это мой Судо-код:

app.get("/", function(request,response){ 
    //Code to send html page. This is the part where it runs fine. 
}); 
app.post("/package/upload", function(request,response){ 
    //Code to read from request.body and request.files and save uploaded file to my server. 
    //Nothing happens when I try to upload through a normal XMLHTTP object in my website. 
}); 

Я работал на серверах в течение некоторого времени, но его мой первый раз с помощью Nginx для оптимизации сервера и балансировки нагрузки. Может ли кто-нибудь помочь мне, что мне не хватает?

+0

Можете ли вы разместить свой HTTP-запрос/ответы? Помогло бы определить, есть ли проблема на стороне или узле nginx (или, возможно, даже с самим запросом) –

+0

, поэтому я посмотрел на свой файл журнала, и свойство client_max_body было слишком низким, что nginx не смог пусть проходят большие запросы POST. Теперь у меня это работает. благодаря – user3467433

ответ

0

(я не могу комментировать, не хватает реп)

Похоже, у Вас есть настройка меню proxy_pass только на /. Пробовали ли вы определить свой POST-адрес /package/upload и соответствующий прокси-пароль?

Что вы видите, когда вы смотрите на панель «Сеть» в инструментах разработчика браузеров при попытке загрузить? Коды состояния HTTP помогают тонну при отладке.

Смежные вопросы