В процессе настройки Nextcloud для работы с Redis на нескольких серверах столкнулся с тем, что в phpredis есть нюансы с поддержкой TLS для PHP сессий.
В phpredis есть два session handler'а:
- session.save_handler = redis
- session.save_handler = rediscluster
В phpredis 5.3.2 в реализацию PHP сессий для rediscluster
добавили поддержку TLS, но в обычном redis ее по-прежнему
нету.
Пришлось отключить TLS в сервере Redis чтобы не городить отдельное решение для PHP сессий. На всякий случай оставлю тут настройки:
config/config.php
'redis' =>
array (
'host' => 'redis.example.com',
'port' => '6379',
'password' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
),
'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => 'true',
php.ini
redis.session.locking_enabled=1
redis.session.lock_retries=-1
redis.session.lock_wait_time=10000
session.save_handler = redis
session.save_path = "tcp://redis.example.com:6379?auth=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Документацию по настройке Redis для Nextcloud можно найти тут.