我正在研究最近创建的远程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)
从服务器端看,正在运行的Python瓶服务器似乎没有收到我从浏览器发出的任何请求。
问题::为什么我的Python脚本没有收到入站流量?为什么简单的Python服务器没有收到我的请求,而Python瓶服务器却没有收到我的请求?还有其他我没有处理过的防火墙吗?
答案 0 :(得分:2)
@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)