gpt4 book ai didi

python - 为什么通过ip访问可以,但是域访问失败?

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:08 27 4
gpt4 key购买 nike

我在有公网IP的服务器上启动了一个新的Django APP,然后用命令运行它:

python manage.py runserver publicip:port

然后我发现当我使用 http://publicip:port 访问它时它工作正常。但是当我使用域名(解析为这个ip)访问它时,它失败了,并给出打击错误:(https://dpaste.de/FIrk)

0 errors found
October 10, 2013 - 10:31:13
Django version 1.5.1, using settings 'testsite.settings'
Development server is running at http://*.*.*.*:8709/
Quit the server with CONTROL-C.

Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run
self.finish_response()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 127, in finish_response
self.write(data)
File "/usr/lib/python2.7/wsgiref/handlers.py", line 210, in write
self.send_headers()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 268, in send_headers
self.send_preamble()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 189, in send_preamble
self._write('HTTP/%s %s\r\n' % (self.http_version,self.status))
File "/usr/lib/python2.7/wsgiref/handlers.py", line 389, in _write
self.stdout.write(data)
File "/usr/lib/python2.7/socket.py", line 324, in write
self.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 104] Connection reset by peer
----------------------------------------
Exception happened during processing of request from ('58.33.144.118', 53268)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line 150, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 693, in finish
self.wfile.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------

任何人都可以提供一些建议来找出原因,非常感谢。

最佳答案

使用域名而不是 IP 运行 runserver:

python manage.py foobar.com:8000

记住你most definitely shouldn't use runserver in production :

DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or performance tests. (And that’s how it’s gonna stay. We’re in the business of making Web frameworks, not Web servers, so improving this server to be able to handle a production environment is outside the scope of Django.)

关于python - 为什么通过ip访问可以,但是域访问失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300625/

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