node.js - 带节点的 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/vendors和https://api.oroshops.com上尝试此行为/api/v1/vendors/您可以在https://api.oroshops.com/api/v1/users和https://api.oroshops.com/api/v1/users/ 上尝试此行为
解决方案
推荐阅读
- php - 使用 Server to Server API 打开 SSL 和 PHP
- php - 将带有新键的数组推送到现有数组
- html - CSS 属性 Max-Width 功能混淆
- php - 如何将 CURLOPT_POSTFIELDS 用于带大括号的查询字符串?- PHP
- c# - 有没有办法将组合框选择写入由 tableLayoutPanel 读取然后显示的文本文件?
- mysql - 如何根据用户从下拉列表中选择的项目加载行轴
- vue.js - vite配置文件根本不生效
- reactjs - 一起使用reactjs和spring boot时的spring boot刷新问题
- c++ - 在 C++ 中以 gedit 的形式关闭程序中的文件
- django - 将动态选择列表传递给基于类的视图中的视图