我正在尝试使用Nginx配置Express服务器作为反向代理. Nginx用于提供静态文件,而Express用于动态内容.
问题:正常的根链接工作(website.com),但当我导航到(website.com/api)时,我从Nginx获得404
这是我的server.js:
var express = require("express");
var app = express();
var server = app.listen(process.env.PORT || 5000);
console.log("Server Running");
app.get("/",function(req,res){res.send("HOME PAGE")});
app.get("/api", function(req, res) {
res.send('API PAGE');
});
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name website.com www.website.com;
location ~ ^/(assets/|images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
root /home/foobar/public; #this is where my static files reside
access_log off;
expires 24h;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
try_files $uri $uri/ =404;
}
}
解决方法:
尝试删除此行:
try_files $uri $uri/ =404;
使用此指令,Nginx尝试提供静态文件(或目录),如果没有此类文件则返回404.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。