windows无法访问远程服务器搭建的tornado服务

发布于 2022-09-01 21:28:31 字数 1006 浏览 15 评论 0

写了个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柠檬心 2022-09-08 21:28:31

从Windows上curl一下看;再试着从不同的Windows浏览器访问看看。

我用类似的异步框架Twisted/Cyclone,测试端口放在8000/8010/8020/8030/8040/8050/8060/8080,都没有问题。

是否你哪个环节的防火墙配置过端口过滤?

兮子 2022-09-08 21:28:31

是不是Nginx做了转发

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文