Envoy Connection Reset by Peer

The connection was unexpectedly closed by the upstream server.

Understanding Envoy Proxy

Envoy is a high-performance, open-source edge and service proxy designed for cloud-native applications. It acts as a communication bus and universal data plane designed for large microservice architectures. Envoy is often used to manage traffic between services, providing features like load balancing, service discovery, and observability.

Identifying the Symptom: Connection Reset by Peer

One common issue encountered when using Envoy is the 'Connection Reset by Peer' error. This error typically manifests as a sudden termination of a connection between Envoy and an upstream server, leading to failed requests and potential service disruptions.

What You Observe

When this issue occurs, you might notice error logs in Envoy indicating that the connection was reset. This can result in HTTP 502 Bad Gateway errors being returned to clients, as Envoy is unable to successfully communicate with the upstream service.

Delving into the Issue: Connection Reset by Peer

The 'Connection Reset by Peer' error indicates that the upstream server has unexpectedly closed the connection. This can happen for several reasons, such as server crashes, network issues, or misconfigurations in the server settings.

Possible Causes

  • Server-side application crashes or restarts.
  • Network instability or interruptions.
  • Misconfigured server settings leading to premature connection closures.

Steps to Fix the Connection Reset by Peer Issue

To resolve this issue, you need to investigate both the upstream server and the network environment. Here are some steps you can follow:

1. Check Upstream Server Logs

Start by examining the logs of the upstream server to identify any errors or crashes that might have caused the connection reset. Look for stack traces, error messages, or any indications of server restarts.

tail -f /var/log/upstream-server.log

2. Verify Network Stability

Ensure that the network between Envoy and the upstream server is stable. Use tools like PingPlotter or Wireshark to diagnose any network issues that might be causing connection drops.

3. Review Server Configuration

Check the configuration of the upstream server to ensure that it is not closing connections prematurely. Look for settings related to connection timeouts and adjust them if necessary.

4. Monitor Envoy Metrics

Utilize Envoy's built-in observability features to monitor metrics related to connection health. This can help you identify patterns or anomalies in connection behavior.

curl -s http://localhost:9901/stats | grep 'upstream_cx_'

Conclusion

By following these steps, you can diagnose and resolve the 'Connection Reset by Peer' issue in Envoy. Regular monitoring and proactive management of both the upstream server and network environment are key to preventing such issues from recurring.

For more detailed guidance, refer to the Envoy Documentation.

Never debug

Envoy

manually again

Let Dr. Droid create custom investigation plans for your infrastructure.

Book Demo
Automate Debugging for
Envoy
See how Dr. Droid creates investigation plans for your infrastructure.

MORE ISSUES

Made with ❤️ in Bangalore & San Francisco 🏢

Doctor Droid