Django 网站允许外部访问的设置方法

​ Django学习过程中一般都是在本机上使用 manage.py runserver 命令启动开发用HTTP服务器,使用本机浏览器访问此服务器。那么如果需要在联网的其他电脑上访问这个Django服务器,则需要额外做一些设置,否则会显示无法连接或连接失败等错误。

1.确认Django的开发服务器正在监听公共IP地址和端口。

​ 在运行Django开发服务器时,默认情况下它只会监听本地IP地址(127.0.0.1)IP和一个随机分配的端口。你需要将其配置为监听公共IP地址。

python manage.py runserver 0.0.0.0:8000

运行开发服务器时,也可以使用以下命令来指定IP和端口:如运行8003端口

注意:下面是更改的本地IP地址(127.0.0.1)的8003端口,要通过终端修改公共IP地址的8003端口:

image-20230702104244484

image-20230702113256314

IP地址 127.0.0.1 是一个特殊的IP地址,被称为本地回环地址(Loopback Address)或环回地址。它是用于在本地计算机上进行网络通信的特定地址。

当计算机使用 127.0.0.1 地址时,它实际上是在与自身进行通信。这在开发和测试网络应用程序时非常有用,因为它允许应用程序在没有真实网络连接的情况下进行自我测试。通常,当你在本地计算机上运行服务器软件(如Web服务器)时,可以将其绑定到 127.0.0.1 地址,以便通过浏览器或其他客户端访问该服务器。(见末尾比较)

2.配置防火墙

Windows(使用Windows防火墙)

  • 打开防火墙高级安全性:
    • 在Windows搜索框中键入“防火墙”,打开“Windows Defender 防火墙”。
    • 在左侧面板中,点击“高级设置”。
  • 创建新的入站规则:
    • 在右侧面板中,点击“入站规则”。
    • 在左侧面板中,点击“新建规则”。
    • 选择“端口”选项,点击“下一步”。
    • 选择“特定的本地端口”选项,并指定要打开的端口号(例如,8000),点击“下一步”。
    • 选择“允许连接”选项,点击“下一步”。
    • 选择适用的网络配置,点击“下一步”。
    • 输入规则名称和描述,点击“完成”。

image-20230702113423493

3.配置允许的主机

默认情况下,Django只允许来自本地主机的连接。要允许外部主机的连接,你需要在Django的设置文件(settings.py)中进行相应的配置。

  • ALLOWED_HOSTS 设置为 ['*'] 可以允许来自任何主机的连接,在 settings.py 文件中,将以下行添加到适当的位置:
ALLOWED_HOSTS = ['*']
  • 如果你只想允许特定的主机访问,可以将 ALLOWED_HOSTS 设置为一个主机列表,例如:

image-20230702113721571

注意:

(1)必须先添加自己主机ip //cmd中输入ipconfig, IPv4 地址 . . . . . . . . . . . . : 192.168.1.105

(2)同一局域网下的ip不需要再添加了,自动访问

4.本地回环IP地址与公共IP地址运行比较

image-20230702102658096

image-20230702102802588

image-20230702103428650

posted @ 2023-07-02 11:45  德琪  阅读(1575)  评论(0编辑  收藏  举报