我正在尝试设置 nginx,以便它直接为我的所有静态文件提供服务,但 api 调用重定向到后端节点应用程序。以前,此应用程序也提供静态文件,但我正在尝试更改它以不这样做。
所以我有几个非常具体的 URL,我想将它们重定向到我的后端。
我已经创建了一个命名块,其中包含我认为所有必需的参数
location @api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://localhost:2020;
proxy_redirect off;
}
但我该如何重定向到它呢?我试过了
location /api/ {
try_files @api;
}
location = /logon {
try_files @api;
}
location = /logoff {
try_files @api;
}
因为这是我能找到的唯一对命名位置的引用,但如果没有至少一个文件可以尝试,我nginx
不喜欢它。当然,后端需要知道传递的原始 URL,这样它才能正确路由。这样做了吗?但这也意味着我无法重定向。try_files
proxy_pass