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
    Oct 19 '16 at 23:46

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
    Oct 21 '16 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
    Oct 21 '16 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
    Oct 23 '16 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
    Oct 23 '16 at 19:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.