NodeBalancer haben schon immer TCP-basierte Protokolle, einschließlich SSL, unterstützt - aber wir freuen uns, ankündigen zu können, dass NodeBalancer jetzt native HTTPS-Unterstützung enthalten.
Das bedeutet, dass ein NodeBalancer SSL-Verbindungen für Sie beenden kann und die Funktionalität und das Verhalten hat, das Sie bereits vom HTTP-Modus kennen - einschließlich der korrekten Einstellung eines X-Fowarded-For
Header mit der IP-Adresse des Anforderers und Sitzungscookies für die Backend-Knoten-Stickiness.
Erstellen Sie dazu ein neues Konfigurationsprofil unter Verwendung von Port 443 (typischerweise), setzen Sie das Protokoll auf HTTPS und geben Sie dann das Zertifikat und seinen privaten Schlüssel (ohne Passphrase) an. Verkettete Zwischenzertifikate werden ebenfalls unterstützt. Hier ist ein Screenshot, der die neuen Optionen zeigt:
Ein Hinweis für SSL-Sites mit höherem Datenverkehr: Die SSL-Aushandlung ist ein rechenintensiver Vorgang, und die Fähigkeit eines NodeBalancers im SSL-Modus, damit Schritt zu halten, ist möglicherweise nicht ausreichend. In diesen Situationen empfehlen wir die Verwendung des TCP-Modus und die Verteilung der SSL-Terminierungslast auf Ihre Backend-Linode-Instanzen. Alternativ könnten Sie mehrere NodeBalancer im SSL-Modus verwenden und Round-Robin-DNS einsetzen.
Mehr Informationen:
Viel Spaß!
Kommentare (10)
Does Linode use HAProxy to run this service?
Hi,
If not good for high traffic, what’s the advantage ?
Thanks
@Jan: convenience – it’s very easy to get SSL working using the NodeBalancer user interface. This is also a good first step for us supporting native SSL — we gotta start somewhere.
How computationally expensive is SSL for you guys?
From Google: “On our production frontend machines, SSL/TLS accounts for less than 1% of the CPU load, less than 10KB of memory per connection and less than 2% of network overhead.” (https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html)
What kind of maximum concurrency are we talking about here for SSL on a nodebalancer?
What traffic max rate is expected to be handled by these balancers? If a regular balancer handles 10k, what about SSL ones?
NodeBalancers have a 10,000 concurrent connection limit. It’s not a request/sec limit. There is no artificial request/sec limit built into NodeBalancers. A NodeBalancer config in TCP or HTTP mode can accept connections pretty much as fast as packets can be slung to/from the backends. In other words: it’s a lot.
A NodeBalancer config in HTTPS mode can achieve 10,000 concurrent connections, too – it may just take some time to ramp up to that. While testing very small requests (connections don’t live long) we’ve seen about 150 req/sec via HTTPS mode. Again, it’s a good place to start, and we’ll be working on improving the req/sec throughput of native HTTPS mode.
Thanks for the comments 🙂
Hi. I previously asked if Linode uses HAProxy for this service? (And indirectly I guess I was wondering what other software/hardware is being use. My post is still awaiting moderation even though posts made after mine have been approved.
In the past Linode has been quite open about its architecture, especially about its implementation of Xen. Is there a reason we don’t get much detail about how NodeBalancers work? Is there something offensive or inappropriate about me asking these things?
Tom, I’d be interested too… Although it’s not out of the realm of possibility that they built their own with something like Golang (esp since 1.1), an accounting proxy would be trivial on such stack.
Any chance to have TLS renegotiation so we can host more than one domain on HTTPS ?