gpt4 book ai didi

ruby - 将 Redis 作为 Redmine 的外部缓存服务器运行

转载 作者:行者123 更新时间:2023-12-04 14:42:46 26 4
gpt4 key购买 nike

我有 2 个使用 Kubernetes 部署的 Redmine pod,由于这个问题, session 管理问题正在发生,所以一些用户因此无法登录,所以我想出了将两个 pod 的缓存存储在 Redis 服务器中的想法Kubernetes(集中式)。
我在位置的 Redmine pod 内提供以下配置。
/opt/bitnami/redmine/config/application.rb

配置

config.cache_store = :redis_store, {
host: "redis-headless.redis-namespace", #service name of redis
port: 6379,
db: 0,
password: "xyz",
namespace: "redis-namespace"
}, {
expires_in: 90.minutes
}

但这并没有按预期工作。在我做错的地方需要帮助。

最佳答案

Redmine 不会在其缓存中存储任何 session 数据。因此,将您的两个 Redmine 配置为使用相同的缓存将无济于事。

默认情况下,Redmine 将用户 session 存储在发送到用户浏览器的签名 cookie 中,而无需任何服务器本地 session 存储。由于 session cookie 使用私钥签名,因此您需要确保使用相同 session 的所有安装也使用相同的应用程序 secret (以及代码和数据库)。

根据您设置 Redmine 的方式,此 key 通常存储在 config/initializers/secret_token.rb 中。或 config/secrets.yml (相对于您的 Redmine 安装目录)。确保在您的两个 Redmine 上使用相同的 secret 。

关于ruby - 将 Redis 作为 Redmine 的外部缓存服务器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59268404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com