Django 如何为本地托管的应用程序设置外部访问?(陆委会)
我在设置具有外部访问权限的web应用程序时遇到问题。我使用的是MacOs High Sierra,我有一个django应用程序在8000端口上运行。端口8000在路由器设置中转发到机器的内部ip 通过本地主机加载应用程序(Django 如何为本地托管的应用程序设置外部访问?(陆委会),django,macos,networking,Django,Macos,Networking,我在设置具有外部访问权限的web应用程序时遇到问题。我使用的是MacOs High Sierra,我有一个django应用程序在8000端口上运行。端口8000在路由器设置中转发到机器的内部ip 通过本地主机加载应用程序(localhost:8000) 防火墙已禁用 通过内部ip正确加载应用程序(192.168.1.4:8000) 通过外部ip连接超时(*.*:8000) 我的目的是通过外部ip访问应用程序。有什么想法吗?您只是将Django开发服务器绑定到localhost(127.0.0.1
localhost:8000
)
防火墙已禁用
通过内部ip正确加载应用程序(192.168.1.4:8000
)
通过外部ip连接超时(*.*:8000
)
我的目的是通过外部ip访问应用程序。有什么想法吗?您只是将Django开发服务器绑定到
localhost
(127.0.0.1
)。要侦听所有可用IP地址,请使用0.0.0.0
,即:
python manage.py runserver 0.0.0.0:8000
如果您的内部网络使用专用网络,并且您在NAT后面,则必须对其进行配置。您的NAT将数据包的私有IP更改为自己的公共IP。然后他将数据包发送到目的地,目的地设备回复NAT(公共IP),然后NAT将此响应发送到LAN中的正确设备(使用专用IP)。这就是为什么私人家庭网络可以到达世界的尽头,这就是为什么私人家庭网络只有一个IP(NAT的IP) 如果您想访问您的内部WEB服务器,您必须执行反向NAT。打开NAT中的端口(本例中为8000)。然后将其配置为将数据包重定向到良好的内部设备(服务器的专用IP) 然后使用端口8000从INTERNET连接到NAT的公共IP。完成了 我建议你们检查一下关于NAT的课程,把NAT颠倒过来,这样会比我更清楚 祝你好运
(如果您打开与internet的连接,请注意服务器的安全)。这有助于通过内部IPIf进行访问,如果它与本地主机和192.168.1.4兼容,但与外部IP不兼容;这意味着您的NAT/防火墙配置有问题。