Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x DigitalOcean Ubuntu液滴不服务于端口80_Python 3.x_Ubuntu_Server_Port - Fatal编程技术网

Python 3.x DigitalOcean Ubuntu液滴不服务于端口80

Python 3.x DigitalOcean Ubuntu液滴不服务于端口80,python-3.x,ubuntu,server,port,Python 3.x,Ubuntu,Server,Port,我在DigitalOcean Ubuntu droplet上有一个简单的Python服务器,它应该提供/dist文件夹中的index.html文件: port = 8000 os.chdir(os.path.join(os.path.dirname(__file__), 'dist')) Handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer(('', port), Handler) print(

我在DigitalOcean Ubuntu droplet上有一个简单的Python服务器,它应该提供/dist文件夹中的index.html文件:

port = 8000
os.chdir(os.path.join(os.path.dirname(__file__), 'dist'))
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(('', port), Handler)
print('Serving at port ', port)
httpd.serve_forever()
我运行了“sudo ufw allow 80/tcp”来打开防火墙,如果我运行ufw status,它会显示端口80对所有人开放。我运行“sudo iptables-t nat-A PREROUTING-I eth0-p tcp--dport 80-j REDIRECT--to port 8000”将流量从端口80重定向到端口8000


如果我从另一个盒子运行nmap,唯一打开的端口是22上的ssh。端口80已过滤。在浏览器中导航到主机会导致连接超时。是什么导致了这种情况?

事实证明,我必须启用DigitalOcean防火墙并应用正确的规则,否则没有防火墙,它只是在默认情况下阻止了端口。

你检查了吗?我从未添加过端口;在DigitalOcean页面上,它说“你还没有对这个水滴应用任何防火墙。”当你在环回接口(即服务器本身)上测试它时,它能工作吗?出于好奇,为什么要创建端口转发而不是直接侦听端口80?我尝试直接从端口80执行此操作,得到了相同的结果。如果我试图在服务器运行时从服务器本身运行nmap或netstat,端口80显示为打开,但服务器崩溃(由对等方重置连接,没有其他有用的错误信息)。这个问题可能更适合当时的情况。