![NAT 后面的同一端口上有两个或多个服务](https://linux22.com/image/798435/NAT%20%E5%90%8E%E9%9D%A2%E7%9A%84%E5%90%8C%E4%B8%80%E7%AB%AF%E5%8F%A3%E4%B8%8A%E6%9C%89%E4%B8%A4%E4%B8%AA%E6%88%96%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1.png)
我认为这个问题不是第一个,但我看到的所有东西对我都没用。好的,例如,我的网络位于 NAT 后面,我想在不同的主机上设置两个 http 服务器。我如何执行路由?我如何理解我可以转发到达 80 端口的所有流量到可以处理域名请求转发的服务上,但哪个服务可以做到这一点?
附言是的,我不想使用 VPN )
答案1
对于 HTTP,你需要反向 HTTP 代理它将解析传入的 HTTP 请求并根据Host
标头(甚至路径 - 这样您就可以在需要时从不同的后端服务器提供服务)http://example.com/foo/
将它们传递给不同的后端服务器。http://example.com/bar/
您可以使用支持反向代理操作的专用代理软件(Squid、Varnish 等)或具有反向代理功能的 HTTP 服务器(nginx、Apache 等)。除了简单的代理之外,它们中的大多数还可以执行其他功能,例如缓存和负载平衡。