I am using Django for main project + Tornado for some async staff.
So, some Django apps requests Tornado via http.
And Tornado server is accessible by mywebsite.com:8888 in browser.
I want to throw 403 error or disable it at all for users if possible, and make it work only for local request from Django.
How can I do it? Can nginx help me? Or there is some cool feature in Tornado? Or some unix staff?
Big thx for advices!
If Django and Tornado are running on the same server, you can bind Tornado to 127.0.0.1 by call .listen() with appropriate parameter:
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()