windows无法访问远程服务器搭建的tornado服务
写了个Hello world的tornado服务,放在linux服务器上运行。再其他linux机器上curl该服务可以返回。但是到windows浏览器上死活无法访问。什么都没有返回,就是超时。
首先,ip可以从windows上ping通。
其次,与linux防火墙没有关系,因为该服务器上部署tomcat和nginx都是可以在windows上访问的。
后来发现端口必须是80开头的,即8018啥的都可以。这个是为什么?和默认80http端口又有什么关系?
代码如下:
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.options
tornado.options.define("port", default=33333, help="run on the given port", type=int)
class XiaoduExtractor(tornado.web.RequestHandler):
def get(self):
self.write("Hello!!!")
def post(self):
pass
def create_server():
tornado.options.parse_command_line()
web_app = tornado.web.Application(handlers=[(r"/", XiaoduExtractor)])
http_server = tornado.httpserver.HTTPServer(web_app)
http_server.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
create_server()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从Windows上curl一下看;再试着从不同的Windows浏览器访问看看。
我用类似的异步框架Twisted/Cyclone,测试端口放在8000/8010/8020/8030/8040/8050/8060/8080,都没有问题。
是否你哪个环节的防火墙配置过端口过滤?
是不是Nginx做了转发