I have gone through this question SO but the solution suggested as OnionBalance or other HAProxy options will result in a single point of failure - either the loadbalancer or else the server running the OnionBalancer.

Is there a possible way of creating a high availability setup (the way it is done in the DNS world using a floating or private ip setup and creating active/passive cluster)?

  • Can you clarify where you think the "single point of failure" is? There are n systems running Tor and hosting the onion services and one system that's republishing a super-descriptor of all of their introduction points. The one publishing the super-descriptor is just publishing the others, it doesn't handle the requests, they get distributed between the IPs in the super-descriptor? See: blog.torproject.org/blog/cooking-onions-finding-onionbalance
    – cacahuatl
    Commented Oct 19, 2016 at 23:46

1 Answer 1


nope, sadly: you can not run multiple HS instances of your website in current Tor base(in my patch it's possible, but it will be released later after a proper debugging). If your HS website is static(=does not require a database and/or active server environment like PHP) - use ZeroNET, it does exactly what you need.

  • You can infact run multiple HS instances of your website, as per the OnionBalance document in the question.
    – cacahuatl
    Commented Oct 21, 2016 at 3:13
  • yes, physically you can, but looking at the diagram here you will see that this is counter-productive and it's not a cluster at all
    – Alexey Vesnin
    Commented Oct 21, 2016 at 11:56
  • The architecture for the multiple servers on the back-end is arbitrary, which you'd know if you understood the concept.
    – cacahuatl
    Commented Oct 23, 2016 at 18:38
  • @canonizingironize the problem is defenately not a back-end: it's arbitrary to have a complementary backend in case of any load ballancing. The problem is that resulting descriptor will NOT provide a true load ballancing in case of 5-10 nodes. Take a deep look at the diagram and the description. The problem is a double-fork: either you have a very long descriptors or you will have NO true ballancing via limited descriptors. A change of protocol and the paradigm is required to fulfill the purpose of load-ballancing. In my patch I left this topic behind for now:the question is TOO deep
    – Alexey Vesnin
    Commented Oct 23, 2016 at 19:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .