Ich führe eine Debian Squeeze-Standard-Apache-Installation (2.2) aus und verwende SSLClientCertificates, um Benutzer zu autorisieren. Dies funktioniert soweit gut.
Wir bemerkten jedoch eine Verlangsamung einiger paralleler Anfragen und versuchten zu überprüfen, ob meine SSLSessionCache
funktioniert.
Also habe ich meinen localhost / server-Status überprüft und er lautet wie folgt:
SSL/TLS Session Cache Status:
cache type: SHMCB, shared memory: 512000 bytes, current sessions: 0
subcaches: 32, indexes per subcache: 133
index usage: 0%, cache usage: 0%
total sessions stored since starting: 0
total sessions expired since starting: 0
total (pre-expiry) sessions scrolled out of the cache: 0
total retrieves since starting: 0 hit, 0 miss
total removes since starting: 0 hit, 0 miss
Scheint zu laufen, aber unabhängig von der von mir gestellten SSL-Anforderung bleiben alle Zähler auf 0, sodass keine Sitzungen zwischengespeichert werden.
Ich habe versucht KeepAlive Off
festzulegen, damit jede Anforderung eine neue SSL-Verbindung herstellt, aber ich sehe immer noch keine Nummern in meinem SSLSessionCache
Status.
Dies ist meine SSLSessionCache-Konfiguration von Standard-Debian mods-enabled/ssl.conf
:
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
In meiner ${APACHE_RUN_DIR}
Datei sehe ich überhaupt keine Dateien, keine ssl_mutex- und keine ssl_cache-Datei. Wenn ich meine wechseln SSLSessionCache
zu
SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
Ich kann eine Datei in diesem Verzeichnis sehen, aber alle Statusnummern sind immer noch Null.
Ich habe versucht, LogLevel auf Debug zu setzen. Die einzigen Nachrichten, die ich über den SSL-Cache erhalte, sind:
$ grep cache /var/log/apache2/error.log
ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of shared memory
ssl_scache_shmcb.c(272): for 511920 bytes (512000 including header), recommending 32 subcaches, 133 indexes each
ssl_scache_shmcb.c(306): shmcb_init_memory choices follow
ssl_scache_shmcb.c(308): subcache_num = 32
ssl_scache_shmcb.c(310): subcache_size = 15992
ssl_scache_shmcb.c(312): subcache_data_offset = 3208
ssl_scache_shmcb.c(314): subcache_data_size = 12784
ssl_scache_shmcb.c(316): index_num = 133
Shared memory session cache initialised
ssl_scache_shmcb.c(452): [client xyz] inside shmcb_status
ssl_scache_shmcb.c(512): [client xyz] leaving shmcb_status
(Datum aus Gründen der Lesbarkeit entfernt, IP aus Datenschutzgründen ersetzt)
Also hier sind meine Fragen:
- Ist es richtig, keine Dateien für Mutex und SessionCache im angegebenen Verzeichnis zu haben?
- Wenn ja, wie kann ich beweisen, dass mein SessionCache funktioniert?
quelle
Ich stehe vor einem ähnlichen Problem.
Für mich beim Ausführen des angegebenen Befehls. Ich habe einen Fehler "Unerwartete Nachricht" erhalten, wenn versucht wird, die Verbindung wiederherzustellen.
Wenn dieser Befehl jedoch auf dem Server ausgeführt wird, funktioniert er ordnungsgemäß. Die Sitzung wird wiederverwendet.
Zur Zeit habe ich keine Lösung dafür
quelle
Das Mounten von tmpfs auf / dev / shm und das Ersetzen von $ {APACHE_RUN_DIR} durch / dev / shm / apache wurde für mich behoben:
quelle