【问题标题】:How to allow Tornado Web Server serve only local requests (from Django)?如何允许 Tornado Web 服务器只服务本地请求(来自 Django)?
【发布时间】:2017-02-05 19:38:05
【问题描述】:

我将 Django 用于主要项目 + Tornado 用于一些异步人员。

所以,一些 Django 应用程序通过 http 请求 Tornado。

并且可以通过浏览器中的 mywebsite.com:8888 访问 Tornado 服务器。

如果可能,我想为用户抛出 403 错误或完全禁用它,并使其仅适用于来自 Django 的本地请求。

我该怎么做? nginx可以帮助我吗?或者 Tornado 有什么很酷的功能?还是一些 unix 员工?

非常感谢您的建议!

【问题讨论】:

    标签: django tornado


    【解决方案1】:

    如果 Django 和 Tornado 在同一台服务器上运行,您可以通过调用 .listen() 并使用适当的参数将 Tornado 绑定到 127.0.0.1:

    import tornado.ioloop
    import tornado.web
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.write("Hello, world")
    
    if __name__ == "__main__":
        application = tornado.web.Application([
            (r"/", MainHandler),
        ])
        application.listen(8888, address='127.0.0.1')
        tornado.ioloop.IOLoop.current().start()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2019-04-19
      • 2015-06-12
      相关资源
      最近更新 更多