Eu executo uma instalação padrão do Apache do debian squeeze (2.2) e faço uso de SSLClientCertificates para autorizar usuários. Isso funciona bem até agora.
Mas notamos uma redução de algumas solicitações paralelas e tentamos verificar se meu SSLSessionCache
está funcionando.
Então, verifiquei meu localhost / server-status e ele é 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 SSL que eu faça, todos os contadores ficam em 0, então nenhuma sessão é armazenada em cache.
Eu tentei definir KeepAlive Off
para permitir que todas as solicitações estabelecessem uma nova conexão SSL, mas ainda não vejo números contando no meu SSLSessionCache
Status.
Esta é minha configuração SSLSessionCache do padrão debian 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}
não vejo nenhum arquivo, nenhum arquivo ssl_mutex e nenhum arquivo ssl_cache. Quando eu alternar meu SSLSessionCache
para
SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
Eu posso ver um arquivo nesse 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 removida de um nível de registro para legibilidade, substituição de privacidade por IP)
Então, aqui estão minhas perguntas:
- É correto não ter arquivos para mutex e sessionCache no diretório especificado?
- Se sim, como provar que meu SessionCache está funcionando?