如何在本地浏览器中从远程服务器访问 Django 网站?

How to access a Django website from remote server in a local browser?

我已经查看并尝试了几个小时,但似乎没有任何效果。这是信息:

1: inet 127.0.0.1/8 scope host lo

2: inet 172.10.12.50/24 brd 172.10.12.200 scope global ens3

3: inet 62.3.8.10/26 brd 62.3.8.22 scope global ens4

现在呢?我不知道如何访问该网站。我尝试了各种 IP 地址,我尝试使用 PuTTY 的 tunneling/port 转发功能,我尝试弄清楚 MobaXterm 的 tunneling/port 转发功能,我想我已经尝试了所有可能的 IP 组合这些设置中的地址。没有任何效果。

当端口转发正常工作时,我应该可以使用 http://127.0.0.1:8000 访问该站点,但这还没有发生。我还尝试使用 ip a 命令中的其他 IP 地址。

这适用于 RHEL 7.* 或 CentOS,如果您 运行 使用 Linux 发行版:

你有没有试过关闭你的firewalld来测试一下你是否可以通过浏览器访问Django?如果您还没有,只需输入 sudo firewall-cmd --state 查看防火墙状态是否处于活动状态,然后按 sudo systemctl stop firewalld

关闭

试试看是否通过[external IPv4]:8000访问 如果可以,那我们就有所进展了。

打开 firewalld sudo service firewalld start 并使用以下命令允许 http 服务通过防火墙 firewall-cmd --permanent --add-service=http

最后,重新加载防火墙firewall-cmd --reload

希望这能奏效。

我们终于弄明白了。问题是使用跳转服务器。我是先登录serverA,然后用ssh登录到项目所在的serverB。我们这样做是因为如果不先访问服务器 A 就无法访问服务器 B。 (我不知道为什么。)

所以我在 PuTTY 中使用的设置,Connection > SSH > Tunnels 是:

  • 来源 = 8000
  • 目的地 = 0.0.0.0:8000

然后在我登录到serverA后,我使用以下命令登录到serverB:

$ ssh serverB -L8000:0.0.0.0:8000

然后我运行虚拟环境的source命令,然后是runserver命令:

$ python3 manage.py runserver 0.0.0.0:8000

然后我可以通过 http://127.0.0.1:8000

在我的本地计算机上访问该网站

现在在 MobaXterm 中解决这个问题,因为这是我首选的 SSH 客户端...