我正在 ubuntu 服务器上运行我的 Django 项目。我已经在settings.py中更改了允许的主机
ALLOWED_HOSTS = ['my_IPV4', 'my_IPV6', 'localhost']
我通过
sudo ufw allow 8000
允许访问端口8000。
我通过
python manage.py runserver 0.0.0.0:8000
运行服务器,但是我只能访问IPV4地址,但端口8000上的IPV6地址无法访问。我的 IPV6 地址处于活动状态,但端口 8000 似乎不起作用。我是否错过了一些配置
IPV6?
我阅读了有关IPV6的文档并得到了一些答案,你必须将IPV6放在方括号中。
IPV6 的本地主机:
::1
IPV6 的任何地址:
::
(IPV4 为 0.0.0.0
)
所以在settings.py中AllOWED_HOSTS应该是
['my_IPV4', '[my_IPV6]', 'localhost']
Django 运行服务器命令:
python manage.py runserver [::]:8000
使用端口访问 IPV6 地址
https://[IPV6 address]:8000
即使没有端口号,您也需要在 URL 中添加括号来访问 IPV6 地址
http://[fe80::b746:6473:e65f:5dd4]/foo/bar
http://[fe80::b746:6473:e65f:5dd4]:8000/foo/bar
参数
--ipv6, -6
使用 IPv6 作为开发服务器。这会将默认 IP 地址从 127.0.0.1 更改为 ::1。
在主机 localhost 的 IPv6 地址上运行端口 8000:
django-admin runserver -6 localhost:8000