django - 为什么我的Django服务器只能本地访问?

标签 django ssl https

所以我已经使用 django-sslserver 运行我的服务器(pip install django-sslserver)

python manage.py runsslserver xx.xx.x.xx:443

现在我可以在服务器本身上访问该站点,但是如果我尝试从另一台机器访问它,它会超时。查看命令提示符,服务器似乎甚至不知道我从另一台机器发出的请求。

但是如果我运行服务器

python manage.py runserver xx.xx.x.xx:80

我可以从两台机器上访问它,没问题。使用 ssl,我尝试了很多端口,但没有任何区别。这是启动时的输出(替换了 IP):

c:\Users\Foo\Project>python manage.py runsslserver xx.xx.x.xx:443
Validating models...

System check identified no issues (0 silenced).
March 24, 2017 - 13:24:59
Django version 1.10.6, using settings 'Project.settings'
Starting development server at https://xx.xx.x.xx:443/
Using SSL certificate: C:\Users\Foo\AppData\Local\Programs\Python\Python35\lib\site-packages\sslserver\certs\development.crt
Using SSL key: C:\Users\Foo\AppData\Local\Programs\Python\Python35\lib\site-packages\sslserver\certs\development.key
Quit the server with CTRL-BREAK.

最佳答案

我的第一个猜测是您的两台机器位于不同的网络上,并且您的服务器机器报告的地址实际上只是网络地址转换 (NAT) 后的内部地址。如果是这种情况,那么您的服务器在它自己的小网络之外实际上根本没有任何 IP 地址。

同样,如果发生这种情况,您需要更改路由器的设置,为该机器提供一个静态 IP 地址,然后将服务器的端口转发到该特定机器。当然,如何操作完全取决于您的路由器。

关于django - 为什么我的Django服务器只能本地访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005835/

相关文章:

python - Django 管理员自定义选择表单字段选择

python - Django 测试并行 AppRegistryNotReady

当代理服务器用于 LAN 时的 PowerShell Remoting

c#-4.0 - 通过 SSL 从 WPF 进行 Web api 调用

java - 什么是完全忽略带有 java url 连接的 ssl 的简单方法?

ssl - CSR 文件丢失但有 KEY 文件和 CRT 文件

django - 禁用首选颜色方案 : dark in django admin

python - Django 查询集关系

docker - 在 docker 容器中使用 apache 服务器配置 SSL

python - 使用Python读取网页源代码时出错