python - windows无法访问远程服务器搭建的tornado服务
黄舟
黄舟 2017-04-17 16:27:37
[Python讨论组]

写了个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()
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
怪我咯

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

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

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

高洛峰

是不是Nginx做了转发

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号