我正在开发一个最近创建的远程DigitalOcean Ubuntu Droplet。没有云防火墙,我用以下命令禁用了服务器防火墙:
sudo ufw disable
当我使用简单的python服务器python3 -m http.server
来提供目录内容时,我可以通过访问浏览器中的http://XXX.XX.XXX.XX:8000/
来查看它们,尽管可能会有很长的延迟。然而,当我运行以下Python瓶子服务器时,我的浏览器返回"无法连接到服务器"消息:
from bottle import route, run
@route('/')
def hello():
return "Today is a beautiful day"
run(host='localhost', port=8000, debug=True)
从服务器端来看,运行中的Pythonball服务器似乎没有接收到我从浏览器发出的任何请求。
问题:为什么我的Python脚本没有接收到入站流量?为什么简单的Python服务器接收到我的请求,而Python瓶子服务器却没有?还有其他防火墙我没有处理过吗?
@MichaelHampton已经回答了您的问题:您已经告诉服务器只监听localhost
地址,所以您当然不能从其他地方连接到它。尝试将其更改为0.0.0.0
,这意味着";所有地址":
from bottle import route, run
@route('/')
def hello():
return "Today is a beautiful day"
run(host='0.0.0.0', port=8000, debug=True)