Eu executo uma instalação padrão do Apache (2.2) do squeeze debian squeeze e uso SSLClientCertificates para autorizar usuários. Isso funciona bem até agora.
Mas notamos uma lentidão em alguns pedidos paralelos e tentamos verificar se o meu SSLSessionCacheestá funcionando.
Então, verifiquei meu localhost / server-status e ele fica assim:
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
Parece estar em execução, mas qualquer solicitação de SSL que eu fizer, todos os contadores permanecerão em 0, portanto, nenhuma sessão será armazenada em cache.
Tentei definir KeepAlive Off, para permitir que cada solicitação estabelecesse uma nova conexão SSL, mas ainda não vejo números contando no meu SSLSessionCachestatus.
Esta é minha configuração SSLSessionCache do debian padrão mods-enabled/ssl.conf:
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
no meu ${APACHE_RUN_DIR}eu não vejo nenhum arquivo, nenhum ssl_mutex e nenhum arquivo ssl_cache. Quando mudo SSLSessionCachepara
SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
Eu posso ver um arquivo neste diretório, mas todos os números de status ainda são zero.
Eu tentei definir o LogLevel para depurar. As únicas mensagens que recebo sobre o cache SSL são:
$ 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
(data de remoção de um nível de log para facilitar a leitura e substituição do IP por privacidade)
Então, aqui estão as minhas questões:
- É correto não ter arquivos para mutex e sessionCache no diretório fornecido?
- Se sim, como provar que meu SessionCache está funcionando?