Black Friday 2025 – NPI EA (cat = Baeldung on Linux)
announcement - icon

Yes, we're now running our Black Friday Sale. All Access and Pro are 33% off until 2nd December, 2025:

>> EXPLORE ACCESS NOW

Baeldung Pro – Linux – NPI EA (cat = Baeldung on Linux)
announcement - icon

Learn through the super-clean Baeldung Pro experience:

>> Membership and Baeldung Pro.

No ads, dark-mode and 6 months free of IntelliJ Idea Ultimate to start with.

Partner – Orkes – NPI EA (tag=Kubernetes)
announcement - icon

Modern software architecture is often broken. Slow delivery leads to missed opportunities, innovation is stalled due to architectural complexities, and engineering resources are exceedingly expensive.

Orkes is the leading workflow orchestration platform built to enable teams to transform the way they develop, connect, and deploy applications, microservices, AI agents, and more.

With Orkes Conductor managed through Orkes Cloud, developers can focus on building mission critical applications without worrying about infrastructure maintenance to meet goals and, simply put, taking new products live faster and reducing total cost of ownership.

Try a 14-Day Free Trial of Orkes Conductor today.

1. Overview

Redis is a popular in-memory data store that can be used as a database, cache, and message client.

However, once we install Redis, problems sometimes occur when trying to connect to the Redis server for the first time.

In this tutorial, we’ll study ways to check if Redis works correctly for both local and remote connections. Moreover, we’ll learn how to fix connection problems if they occur.

2. Check Local Setup

Firstly, let’s check if our Redis works correctly on localhost.

To that end, let’s use the standard Redis ping command:

$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>

Usually, this step works correctly without any extra network setup. If we get an error at this point, then Redis most likely isn’t present on our machine.

To install both Redis client and server, we can use the apt-get command with sudo:

$ sudo apt-get install redis

Now, we should be able to repeat the local ping-pong test without errors.

3. Check Remote Setup

Next, we can check if our client can ping a remote Redis server correctly.

For that, we’ll start the Redis client with the -h option, and we’ll specify the remote server IP address:

$ redis-cli -h <server-ip>
<server-ip>:6379> ping
PONG
<server-ip>:6379>

If we see the pong response arriving as above, then our connection is successful.

However, if we see no pong response here, or if there is a Connection Refused error, that means that the Redis server restricts access to itself.

In the next sections, we’ll see how to fix some common server connection problems.

4. Update Server Bind Address

To fix the Redis server Connection Refused problem, we need to update the Redis config file, which is typically located at /etc/redis/redis.conf.

In particular, we’ll change a default line:

bind 127.0.0.1

In place of the local 127.0.0.1, we can place a public or a catch-all IP address:

bind 0.0.0.0

The IP address 0.0.0.0 means that the server will now listen to all incoming IP addresses rather than only localhost.

5. Check Firewall Rules

Often, the firewall also blocks our connection attempts. Therefore, it’s essential to see whether the Redis default port 6379 is being allowed by our firewall.

For example, let’s use ufw, the Uncomplicated Firewall. In particular, to check if the Redis port is open, we can look at the output of ufw status:

$ sudo ufw status
Status: active

In this case, we can see that the firewall is active, but it doesn’t seem to be allowing access via the Redis ports.

So, we’ll allow inbound traffic through TCP port 6379:

$ sudo ufw allow 6379/tcp
Rule added
Rule added (v6)

Now, the rules have been added. Let’s check the ufw status again:

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
6379/tcp                   ALLOW       Anywhere                  
6379/tcp (v6)              ALLOW       Anywhere (v6)  

As we can see, the firewall should now allow all the traffic through our Redis port.

6. Restart Redis

After we make the above changes, it’s usually best to restart Redis using the systemctl command:

$ sudo systemctl restart redis.service
$ sudo systemctl is-active redis
active

Now, Redis is running with new settings.

We can repeat the remote connection check. We should now be able to ping-pong the remote server correctly.

7. Security Warning

The above steps make the Redis server open to all inbound connections. So, it’s essential to take measures to avoid security risks.

For that, we can enable password access and turn on protected mode in the Redis config file:

requirepass <your password>
protected-mode yes

The above options will restrict unauthorized access to the Redis server thus enhancing the security of our system. Importantly, protected-mode may actually restrict access more than desired in some cases.

8. Conclusion

In this article, we learned how to check the Redis connection to a remote server.

First, we studied the commands to diagnose Redis local and remote connections. After that, we looked at the Redis server bind IP address to fix the remote connections.

Then, we learned how to check if the firewall allows traffic through the Redis ports. Finally, we saw how to avoid security issues while enabling access.