首页 > 解决方案 > 带节点的 Nginx 代理。在端口 80 上运行时奇怪的重写

问题描述

location  /api{
    rewrite /api(.*) $1 break;
    proxy_pass http://api;
}

所以我有一个节点服务器在容器内运行并使用 Nginx 作为代理,如果容器在 80 以外的任何其他端口上侦听,它就可以正常工作。但是在 80 上它只重写/重新路由两个路由 /api/v1/vendors 和 /api /v1/products 到 /v1/vendors/ 和 /v1/products/。但所有其他路线都可以正常工作。当我将尾随 / 添加到 /api/v1/vendors 和 /api/v1/products 时,问题得到解决。谁能解释为什么会发生这种情况?并且当我更改路线名称时它也会自行修复,即使关闭 s 也可以在 https://api.oroshops.com/api/v1/vendorshttps://api.oroshops.com上尝试此行为/api/v1/vendors/您可以在https://api.oroshops.com/api/v1/usershttps://api.oroshops.com/api/v1/users/ 上尝试此行为

标签: node.jsdockernginx

解决方案


推荐阅读