gpt4 book ai didi

Redis - 绑定(bind)接口(interface)不起作用(连接被拒绝)!

转载 作者:IT王子 更新时间:2023-10-29 06:10:55 29 4
gpt4 key购买 nike

我正在尝试配置 Redis(redis.confbind 参数)以仅接受来自特定 ip 的访问。在我的例子中,我想启用对环回网络接口(interface)( 127.0.0.1/::1 )和 ip 192.168.56.101 的访问(192.168.56.102 是 Redis 服务器的 ip)。根据我目前已阅读的所有文档,以下配置应该有效...

bind 127.0.0.1 ::1 192.168.56.101

...但事实并非如此。

我已经尝试了其他几种配置...

bind 127.0.0.1 192.168.56.101 ::1
bind 127.0.0.1 192.168.56.101
bind 192.168.56.101
bind 192.168.56.0
bind 192.168.0.0

... 没有任何作用。 =|

唯一有效的配置是...

bind 0.0.0.0

但是,这个配置打开了对任何 ip 的访问!

注意: protected-mode参数 ( redis.conf ) 有一个 no值(value)。

知道会发生什么吗?

引用:

Redis bind to more than one IP

https://redis.io/topics/security

http://download.redis.io/redis-stable/redis.conf

进一步的问题:

如何启用对 IP 范围的访问(bind 参数)?像...

bind 192.168.56.0

……或者……

bind 192.168.56.0/24

在这些示例中,任何 IP 以“192.168.56”开头的机器都可以访问 Redis 服务器。

@卡尔达科斯塔@杰基

谢谢!

最佳答案

我认为您误解了bind 配置和IP-whitelist

bind 配置指定 Redis 监听的 IP 地址。如果将 Redis 绑定(bind)到环回接口(interface),则只有本地客户端可以访问 Redis。如果你想让其他主机访问Redis,你必须将Redis绑定(bind)到所有网络接口(interface)(即0.0.0.0),或者一些指定的网络接口(interface)。

你需要的是IP-whitelist,它列出了可以访问Redis的IP地址。据我所知,到目前为止,Redis 支持它(如果我错了请纠正我)。

还有其他解决方案来限制对 Redis 的访问(所有这些解决方案都需要 Redis NOT 绑定(bind)到环回接口(interface))。

Limit access by authentication

您可以使用requirepass 配置为Redis 设置密码。只有知道密码的客户端才能访问 Redis。

Limit access by OS utility

在 Linux 上,您可以使用 iptables 来控制网络访问。使用此实用程序,您只能允许指定主机访问 Redis 绑定(bind)到的端口。

关于Redis - 绑定(bind)接口(interface)不起作用(连接被拒绝)!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46084611/

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