如何在nginx中设置子路径代理

How to setup subpath proxy in nginx

我的上游服务器 运行 在 PORT - 3000

var express = require('express')
var app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.get('/test',function(req,res){
  res.send('<h1>Testing...</h1>')
})

app.listen(3000, function () {
  console.log('Listening on port 3000...')
})

我可以很容易地在浏览器中看到两条路线

从 ngnix -> 节点设置代理

我尝试了以下配置

location ^~ /* {
    try_files $uri $uri/ =404;
    proxy_pass http://localhost:3000/;
}

========================================
location / {
    try_files $uri $uri/ =404;
    proxy_pass http://localhost:3000/;
}

========================================
location /* {
    try_files $uri $uri/ =404;
    proxy_pass http://localhost:3000/;
}

以上所有配置都在加载 http://localhost/ 但在 http://localhost/test

上加载 404

try_files提供静态文件。删除此行。

location / {
    proxy_pass http://localhost:3000/;
}