我有一台Node.js服务器,Express在运行Nginx的同一台机器上运行。这是我在启用网站的nginx代码:
upstream project {
server 192.168.0.102:3100;
}
server {
listen 80;
location / {
proxy_pass http://project;
}
}
使用此配置,当我在公共计算机上键入我的域时,我的网站的第一页显示,所以没关系。但是网页是我应该能够将数据上传到我的服务器的表单,当我在我的网站上按上传时,没有任何反应。这是我的sudo-code:
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 :(得分:0)
(我无法发表评论,代表不够)
您似乎只在/
上设置了proxy_pass。您是否尝试过定义POST位置/package/upload
和相应的proxy_pass?
当您尝试上传时,在浏览器开发者工具中查看“网络”面板时会看到什么?调试时,HTTP状态代码可以提供帮助。