gpt4 book ai didi

python - 如何运行 django sslserver(https) 使得网络中的远程系统也可以访问?

转载 作者:行者123 更新时间:2023-12-03 18:03:22 27 4
gpt4 key购买 nike

我正在尝试使用 https 运行我的服务器,所以我安装了 django-sslserver ,并运行如下。

python manage.py runsslserver --certificate /etc/ssl/certs/server.crt --key /etc/ssl/private/server.key 0.0.0.0:8000

它使用上面的命令成功运行。我可以通过 localhost:8000 访问或 127.0.0.1:8000 ,但无法通过 192.168.2.13:8000 访问这里 192.168.2.13是我的 IP 地址。

为什么我无法通过我的 IP 地址访问?

甚至如果用 8000 以外的方式启动服务器端口,默认为 8000 .在下面的示例中,我使用了 8014 , 但其服用 8000默认。
root@nagapavan-HP-ProBook-440-G2:/home/nagapavan/Downloads/celestial_NAS# python manage.py runsslserver --certificate /etc/ssl/certs/server.c --key /etc/ssl/private/server.key 127.0.0.1:8014
Validating models...
System check identified some issues:

WARNINGS:
NAS.UserProfile.user: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
System check identified 1 issue (0 silenced).
October 06, 2015 - 13:21:40
Django version 1.8.4, using settings 'celestial_NAS.settings'
Starting development server at 127.0.0.1:8000/
Using SSL certificate: /etc/ssl/certs/server.crt
Using SSL key: /etc/ssl/private/server.key
Quit the server with CONTROL-C

为什么默认使用端口号 8000?

我发现了另一个启动服务器的命令,如下所示。我可以给出IP地址和端口号。它按预期工作。但是我可以使用IP地址访问但无法通过 localhost:9000访问或 127.0.0.1:9000即使我正在访问本地系统本身的服务器。

上述说法的原因可能是什么?

甚至我也可以通过我的 IP 地址访问 https://192.168.2.13:9000 ,我无法从同一网络中的远程系统访问服务器(甚至可以相互ping通)

为什么我无法从同一网络中的远程系统访问服务器,我们需要做任何配置文件更改吗?
python manage.py runsslserver --certificate /etc/ssl/certs/server.c --key /etc/ssl/private/server.key --addrport 192.168.2.13:9000

注:以上所有 URI 均使用 访问https

添加我在启动 sslserver 时遇到的错误,如下所示:

是以上问题的原因吗?
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('192.168.1.166', 56694)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line 102, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
self.handle()
File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line 167, in handle
self.raw_requestline = self.rfile.readline(65537)
File "/usr/lib/python2.7/socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
File "/usr/lib/python2.7/ssl.py", line 341, in recv
return self.read(buflen)
File "/usr/lib/python2.7/ssl.py", line 260, in read
return self._sslobj.read(len)
SSLError: [Errno 1] _ssl.c:1429: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
----------------------------------------
----------------------------------------

最佳答案

它的工作请使用而不是 0.0.0.0 尝试您的网络 ip,并允许在主机上添加网络 ip

关于python - 如何运行 django sslserver(https) 使得网络中的远程系统也可以访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com