Why Basic Server Knowledge Is Crucial for Every Developer?
Tags: firewall, tips, network, coding
Published: 2024-03-16 15:40:27

In the complex ecosystem of [software development](https://www.webdevstory.com/mastering-modern-software-development/), we often pigeonhole ourselves into niches, believing in a clear divide between coding and server management and troubleshooting.

This perspective can leave a developer at a disadvantage when server-related issues arise.  
We developers are reluctant to have some basic knowledge of servers. We often ignore that it’s the responsibility of the server and network guy.

I believe that a fundamental understanding of server operations is more than just an asset. It’s a necessity that can dramatically enhance our efficiency, problem-solving capabilities, and ability to collaborate with network professionals.

If we have some knowledge about servers, it will help us identify and delegate the server issues to the network administrator without wasting lots of time. Even sometimes we can effectively solve them by ourselves.

[![Comparison of Various VPS Hosting Plans Offering Different Features and Pricing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/15jerk5ttrin7om61o8j.png)](https://links.mmainulhasan.com/namecheap-vps)

<figcaption>Explore the right VPS hosting plan that fits your business needs and provides the control and flexibility essential for server management.</figcaption>

## Leveraging Server Knowledge for Effective Troubleshooting

Most recently, I was stuck with a perplexing error message:

> *MooChat is not working on your site, your chat server URL might be incorrect or your chat server is down.*

I was following their documentation to make it active and check many coding errors, and it wasn’t the `error log`.

Then I focused on the server-related thing is it because of the blocked port and tried to fix it.  
Here’s a breakdown of the steps I took and the tools that paved the way:

### 1 — Initial Diagnosis

Using the `curl` command, I attempted to connect to the server on port `3890` in which I wanted to connect chat server, which resulted in a connection timeout error. This was the first clue that the issue lay deeper within the server or network configuration.

### 2 — Network Scanning

With `nmap`, I conducted a scan of the server to check the status of various ports. The scan revealed that port `3890` was filtered, hinting at a firewall intervention.

![Network Port Scan Results Showing Various Open and Filtered Ports](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5bvntewzsq4oib82lsa.png)

### 3 — Checking Open Ports

Using `netstat`, I verified that my application was indeed listening on port `3890`. This confirmed that the application was running as expected, and the issue was likely not internal to the server.

### 4 — Firewall Investigation

I delved into the server’s firewall settings using `iptables` and `firewalld`, ensuring that rules were in place to allow traffic on port `3890`. Despite correct settings, the connection issue persisted, leading me to suspect external firewall restrictions by the hosting provider.

### 5 — Hosting Provider Interaction

Communication with the hosting provider’s support team was crucial. After explaining the situation and the steps taken, they conducted their investigations, ultimately identifying and resolving a block on port `3890` at their end.

[![Netgear GS308 8-Port Gigabit Ethernet Network Switch](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxs6now9etuehb56c070.jpg)](https://amzn.to/48VNLes)

<figcaption>The Netgear GS308 8-port Gigabit Ethernet network switch is ideal for expanding your high-speed network — a reliable, easy-to-use solution for home or office connectivity</figcaption>

### Importance of Server Knowledge

This experience made me realize how important it is for developers to have a wide range of skills. Understanding server infrastructure, networking, and security is not just beneficial; it’s imperative.

Without that, I couldn’t make sure the issue was not on the coding end. It’s a server-side issue. So, basic server troubleshooting knowledge enables you a developer in the:

**1 — Anticipate and Mitigate Issues:** Knowledge of server and network configurations allows developers to foresee potential roadblocks and implement solutions proactively.

**2 — Secure Applications:** Knowing how to keep applications secure and being aware of common weaknesses helps developers keep their applications safe from threats.

**3 — Enhance Problem-Solving Skills:** Familiarity with the underlying systems enriches a developer’s toolkit, making them more adept at troubleshooting and resolving complex issues.

Throughout this journey, I gained invaluable insights into the intricacies of [firewalls](https://www.cisco.com/c/en/us/products/security/firewalls/what-is-a-firewall.html), port configurations, and server settings.

I learned that every error message is an opportunity to expand one’s knowledge and that collaboration with infrastructure experts can lead to swift resolutions.

## Closing Thoughts

Developers should not view server knowledge as peripheral. It’s a core skill that bridges gaps, enhances server troubleshooting acumen, and fosters a collaborative environment with network administrators.

My experience with a server problem that seemed impossible to solve not only expedited the resolution process. It also deepened my appreciation for the symbiotic relationship between code and server management.

I hope that sharing my story will help and inspire you as a developer to troubleshoot the server confidently.

Understanding the basics of server infrastructure is not about becoming a network expert. It’s about empowering yourself to tackle a wider array of problems with confidence and competence.

***Support Our Tech Insights***

<a href="https://www.buymeacoffee.com/mmainulhasan" target="_blank">![Buy Me A Coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsm9uucbnw7x9iw0loxr.png)</a>

<a href="https://www.paypal.com/donate/?hosted_button_id=GDUQRAJZM3UR8" target="_blank">![Donate via PayPal button](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipnhbim2ba56kt32zhn3.png)</a>

Note: Some links on this page might be affiliate links. If you purchase through these links, I may earn a small commission at no extra cost to you. Thanks for your support!