使用同一域名路由多个 API Nginx 404

使用同一域名路由多个 API Nginx 404

我需要在端口 8080 上设置 SSL,以允许用户通过 https 访问在同一服务器上开发和部署的多个 API,

所以我使用 NGINX 来开发这个 SSL + 路由配置。

这是nginx/default.conf

server {
listen 8080 ssl;
server_name api.example.com;

ssl_certificate /etc/nginx/certs/api_example_com.pem;
ssl_certificate_key /etc/nginx/certs/api_example_com.key;

location / {
   proxy_pass http://192.168.100.12:4000;
}

location /web/ {
   proxy_pass http://192.168.100.12:4000;
}

location /admin/ {
  proxy_pass http://192.168.100.12:5000;
}

}

现在,api.example.com运行正常,我可以通过以下方式访问在 4000 端口上运行的 APIapi.example.com

api.example.com/webapi.example.com/admin控制台上出现 404 错误,

22/Dec/2020:19:20:07 +0000] "GET /admin/ HTTP/1.1" 404 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"

答案1

解决了在 proxy_pass URL 末尾添加 / 的问题

proxy_pass http://192.168.100.12:4000/;

相关内容