基于域/URL 的端口转发(NAT)

基于域/URL 的端口转发(NAT)

我目前有 Time Capsule 将端口 80 上的所有入站请求转发到我的 Mac Mini,该 Mac Mini 运行一个本地 IP 地址为 的 Web 服务器192.168.1.8。我还设置了 DNS,这样如果我访问,example.com它会将请求发送到我的静态公共 IP,这反过来会导致 Time Capsule 将端口 80 上的请求转发到我的 Mac Mini。

但是我现在在本地网络上也有一台 Raspberry Pi,其 IP 地址为192.168.1.5。我希望能够通过 访问 Raspberry Pi 上的 Web 服务器pi.example.com,但我不知道如何让 Time Capsule基于域名的端口转发。我希望能够拥有如下功能:

example.com:80       -->   public IP   -->    192.168.1.8:80
pi.example.com:80    -->   public IP   -->    192.168.1.5:80

更新

我已经设法使用 Apache 中的虚拟主机和正向代理完成上述操作。但是,这仅适用于端口 80 上的 HTTP,我该如何使用 SSH 和 FTP 等其他服务执行此操作?例如:

example.com:21       -->   public IP   -->    192.168.1.8:21
pi.example.com:21    -->   public IP   -->    192.168.1.5:21

答案1

您需要一个 HTTP 服务器作为代理,以便根据域名进行转发。Time Capsule 可能只是在进行 NAT,因此无法执行此操作。

相关内容