赞
踩
如果部署的服务器只有私有地址,那么无法直接从外部网络中的其他计算机访问该服务器和其中运行的 Gradio 应用程序。在这种情况下,你可以考虑使用端口转发技术,将服务器的私有地址映射到一定的公开地址上,从而可以在外部网络中访问 Gradio 应用程序。
常用的一种端口转发技术是 NAT 网络地址转换(Network Address Translation),它可以将服务器的内部 IP 地址映射到一个公共 IP 地址上,并将访问该公共 IP 地址和端口的流量转发到服务器的内部 IP 地址和端口。在 Linux 系统中,可以使用 iptables 工具来进行端口转发和 NAT 配置。
以下是一个使用 iptables 进行端口转发和 NAT 配置的示例,假设服务器的内部 IP 地址为 192.168.1.100
,应用程序运行在 7861
端口上:
首先在服务器上打开 iptables 转发功能,运行以下命令:
sysctl -w net.ipv4.ip_forward=1
然后使用 iptables 进行端口转发和 NAT 配置,运行以下命令:
iptables -t nat -A PREROUTING -p tcp --dport 7861 -j DNAT --to-destination 192.168.1.100:7861
iptables -t nat -A POSTROUTING -j MASQUERADE
这个命令将 7861
端口的 TCP 流量转发到内部 IP 地址为 192.168.1.100
的服务器上,并使用 MASQUERADE 参数将内部服务器的流量源地址替换为公共 IP 地址,从而使内部服务器的流量看起来像是通过公共 IP 地址上双向通信的网络一样。
需要注意的是,使用端口转发技术进行 NAT 配置时,需要确保转发规则和防火墙配置正确,并且应该采取适当的安全措施来保证访问的安全性,比如只允许特定的 IP 地址或者设置 VPN 访问等。
https://98d0d9aff8aacde33d.gradio.live
这个地址是 Gradio 官网提供的免费公共 URL,可以通过公网访问你本地部署的 Gradio 应用程序。具体实现原理是 Gradio 官网提供了一个服务,它会反向代理到你部署的本地 Gradio 应用程序,从而使通过 https://98d0d9aff8aacde33d.gradio.live
可以访问你本地部署的 Gradio 应用程序。
在实现上,你在本地部署 Gradio 应用程序后,需要运行 gradio share
命令,该命令会向 Gradio 服务器注册你的应用程序,并把应用程序的公网 URL 地址返回给你。当你在浏览器中访问该地址时,Gradio 服务器就会通过反向代理的方式将用户的请求转发到你的本地 Gradio 应用程序上。这种实现方式可以使用户在不知道具体本地部署的情况下,通过公共网址轻松地访问 Gradio 应用程序。
由于 Gradio 官网提供的免费公共 URL 是在公网服务器上提供服务的,因此可以通过不同网络环境下的设备进行访问,包括在内网环境的设备。但需要注意的是,这种公共 URL 只有 72 小时的有效期限,如果需要长期的永久部署,则需要使用 Gradio 官方提供的部署服务。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。