在CentOS上配置Redis防火墙,你需要确保Redis服务器只监听本地连接,或者如果你需要远程访问,只允许特定的IP地址访问。以下是一些步骤来配置防火墙:
确定Redis监听的端口:
默认情况下,Redis监听在6379端口。你可以在/etc/redis.conf文件中找到这个配置项。
配置防火墙规则:
CentOS 7及以上版本使用的是firewalld作为默认的防火墙管理工具。你可以使用firewall-cmd命令来添加规则。
仅允许本地连接:
如果你只想让Redis监听本地连接,可以在/etc/redis.conf文件中将bind指令设置为127.0.0.1或者注释掉这一行(默认就是只监听本地连接)。
sudo vi /etc/redis.conf
# 将 bind 127.0.0.1 改为 bind 你的IP地址 或者注释掉这一行
修改配置后,重启Redis服务:
sudo systemctl restart redis
允许远程连接:
如果你需要从远程主机访问Redis,你需要确保protected-mode设置为no,并且在bind指令中指定你的服务器IP地址或者注释掉这一行。同时,你需要添加一个防火墙规则来允许外部访问6379端口。
在/etc/redis.conf中进行如下修改:
sudo vi /etc/redis.conf
protected-mode no
# bind 127.0.0.1 注释掉或改为你的服务器IP地址
然后,添加防火墙规则:
sudo firewall-cmd --permanent --zone=public --add-port=6379/tcp
sudo firewall-cmd --reload
这样就允许了外部访问6379端口。
SELinux配置: 如果你的系统启用了SELinux,你可能还需要配置SELinux策略来允许Redis网络连接。
查看SELinux状态:
sestatus
如果SELinux是启用的,你可以临时将其设置为宽容模式来测试是否是SELinux阻止了连接:
sudo setenforce 0
如果确定是SELinux的问题,你可以为Redis设置一个自定义的SELinux策略模块,或者永久地将SELinux设置为宽容模式(不推荐在生产环境中这样做):
sudo vi /etc/selinux/config
SELINUX=permissive
修改后,重启服务器。
请注意,开放Redis到公共网络可能会带来安全风险。确保你已经采取了适当的安全措施,比如使用强密码、限制访问IP、使用SSL等。