我试图让我的nodeapp使用express工作。
我已经通过nginx设置了反向代理以使用https://dank.ml/api/v1但是每当我启动我的应用时,它都不想检测 / 响应。< / p>
这是我的代码:
var express = require('express');
var app = express();
var def = {'details': 'Running API v1.0'};
app.get('/', function(req, res) {
res.send('Home');
});
app.listen(8080);
console.log('API is now running on: 127.0.0.1:8080');
这是我的配置:
server {
listen 80;
listen [::]:80;
index index.php index.html index.htm;
root /var/www/dank.ml/;
server_name dank.ml;
location /api/v1 {
proxy_pass http://127.0.0.1:8080;
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;
}
}
答案 0 :(得分:1)
显然是在说
无法GET / api / v1
即。传递给express的路径是 / api / v1 。
使用此配置:
... class="spoilerBox"></span>
即。 location /api/v1/ {
proxy_pass http://127.0.0.1:8080/;
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;
}
和location
中的尾部斜杠。
source