nginx 如何为所有传入的API请求使用代理传递

cnwbcb6i  于 2023-11-17  发布在  Nginx
关注(0)|答案(1)|浏览(201)

我正在使用nginx设置一个服务器来托管我的网站,但我的后端工作遇到了麻烦。目前我只使用Restful API,并试图在nginx中使用JavaScript来访问我的后端,但我必须为每个API端点添加一个位置。例如,我的后端服务器在localhost:5000上从pm2运行,我所有的端点都需要http://myip/api/(my-endpoint),如果我将nginx设置为这样:

location / {
                try_files $uri $uri/ =404;
        }

        location /api {
                proxy_pass http://localhost:5000/api;
                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;
        }

字符串
它仍然不工作.什么是最好的方法去设置nginx处理所有请求从我的前端到后端?谢谢!

vu8f3i0k

vu8f3i0k1#

当你在代理URL的末尾没有使用斜杠/时,它会将/api添加到后面的proxy_pass中,这样你最终会得到http://localhost:5000/api/api
尝试在根URL的末尾使用斜杠:

location /api {
        proxy_pass http://localhost:5000/;
    }

字符串

相关问题