![基于url后缀的本地HTTP端口转发](https://linux22.com/image/195886/%E5%9F%BA%E4%BA%8Eurl%E5%90%8E%E7%BC%80%E7%9A%84%E6%9C%AC%E5%9C%B0HTTP%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91.png)
我正在寻找一种解决方案,根据请求发送到的 url 在本地转发 webhook http post 请求。
例如:我的 http 服务器位于 192.168.1.1。在端口 80 上。如果 http 请求进入http://192.168.1.1:80/landing1/我希望将请求转发至http://127.0.0.1:5001。如果请求转到http://192.168.1.1:80/landing2/它将转发至http://127.0.0.1:5002等等。
原因是我在 500x 端口上使用 Flask 应用程序,它们处理这些不同的 webhook 帖子。但是,发送http post请求的服务器有端口限制,即我不允许将webhook post请求直接发送到500x端口,并且允许的端口不足以覆盖我的flask应用程序。
我正在使用 popOS 发行版。
预先非常感谢您。
保罗
答案1
根据请求发送到的 url 转发 [...]。
这意味着您需要一个代理(显式或透明),端口转发本身不起作用。因为端口转发基于数字 IP 地址,并且 DNS 查找发生在任何具有数字 IP 地址的数据包生成过程中,更不用说实际的 URL 了。
基本上任何代理都可以,例如看到这个列表(第一个谷歌点击)。
解决问题的标准方法是使代理人收听 192.168.1.1。在端口 80 上。然后它被称为“前端”,我推荐“nginx”。然后您将 192.168.1.1 上的原始服务器移至其他位置(例如也移至 127.0.0.1,并将剩余请求转发给它)。