Apache - extrem langsamer anfänglicher Handshake (SSL aktiviert)


7

Ich habe ein Problem mit dem Apache-Server. Der anfängliche SSL-Handshake dauert ungefähr 5-7 Sekunden, was schrecklich ist. Danach ist die Antwortzeit in Millisekunden angegeben. Die Nachrichten müssen jedoch direkt nach dem ersten gesendet werden. Andernfalls wird der Handshake nach einigen Sekunden Inaktivität erneut ausgeführt. Gibt es eine Möglichkeit, die Apache-Konfiguration zu beschleunigen?

Antworten:


6

Das ist mit einer Linux-Distribution, oder?

Ist dieser Server meistens inaktiv? Vielleicht schaufelt Apache Zufälligkeit aus / dev / random . Das kann manchmal sehr langsam sein, da / dev / random "echte" Zufälligkeit erfordert; Dinge wie das Bewegen der Maus, das Verwenden der Tastatur und des Netzwerkverkehrs sammeln die Entropie. Wenn der Kernel-Entropie-Pool fast leer ist, neigen Prozesse, die Zufälligkeit erfordern, dazu, für eine (lange) Zeit anzuhalten.

Sollte dies der Fall sein, cat /proc/sys/kernel/random/entropy_availsollte während des SSL-Handshakes nahe Null sein.

Sie können die Zufallsquelle mithilfe der SSLRandomSeedApache-Direktive auf / dev / urandom umstellen. Seien Sie jedoch gewarnt, dies ist theoretisch nicht so sicher wie / dev / random.

Eine andere Lösung ist die Verwendung von Daemon-ähnlichen rngd(im rng-toolsPaket in vielen Linux-Distributionen verfügbar), die den Entropiepool füllen.


Keine Änderung mit /dev/urandom. Ich habe rng-toolsund tcpdumpaus dem Beitrag unten nicht verfügbar und da ich nicht der Administrator des Servers bin, kann ich es nicht installieren.
Tom

1

Überprüfen Sie neben den Aussagen von Janne Pikkarainen auch, ob der Server keine DNS-Reverse-Suche nach SSL-Anforderungen durchführt. Führen Sie a tcpdump -pi eth0 port 53.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.