como executar django sslserver (https) de modo que os sistemas remotos em rede também podem acessar?
estou a tentar executar o meu servidor com https, por isso instalei django-sslserver
, e a correr como em baixo.
python manage.py runsslserver --certificate /etc/ssl/certs/server.crt --key /etc/ssl/private/server.key 0.0.0.0:8000
está a correr com sucesso com o comando acima. Eu sou capaz de acessar através de localhost:8000
ou 127.0.0.1:8000
, mas não sou capaz de acessar através de 192.168.2.13:8000
aqui 192.168.2.13
é o meu endereço IP.
porque não posso aceder através do meu endereço IP ?
e mesmo que inicie o servidor com outro porto que não 8000
, é por omissão tomada como 8000
. Aqui no exemplo abaixo eu usei 8014
, mas a sua tomada 8000
como padrão.
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
Por que está tomando o número de porta 8000 como padrão?
Encontrei mais um comando para iniciar o servidor como em baixo. Posso dar o endereço IP e o número do Porto. Está a funcionar como esperado. Mas eu sou capaz de acessar com o endereço IP, mas não sou capaz de acessar através delocalhost:9000
ou 127.0.0.1:9000
até mesmo eu estou acessando o servidor do meu próprio sistema local.
qual pode ser a razão para a afirmação acima?
e mesmo Eu sou capaz de acessar através do meu endereço IP com https://192.168.2.13:9000
, Eu não sou capaz de acessar o servidor a partir de um sistema remoto que está na mesma rede(mesmo pingable um para o outro)
Por Que Eu não sou capaz de acessar o servidor a partir de um sistema remoto na mesma rede, precisamos fazer qualquer alteração de arquivo de configuração?
python manage.py runsslserver --certificate /etc/ssl/certs/server.c --key /etc/ssl/private/server.key --addrport 192.168.2.13:9000
Nota: {[23] } todos os URIs acima acedidos com https
adicionando o erro que estou a obter ao iniciar o sslserver como abaixo:
É essa a razão das questões acima?----------------------------------------
----------------------------------------
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
----------------------------------------
----------------------------------------