0
0
Nginxdevops~30 mins

API versioning with routing in Nginx - Mini Project: Build & Apply

Choose your learning style9 modes available
API Versioning with Routing in Nginx
📖 Scenario: You are managing a web server that hosts an API. The API has two versions: v1 and v2. You want to route incoming requests to the correct API version based on the URL path.For example, requests to /api/v1/ should go to the v1 backend, and requests to /api/v2/ should go to the v2 backend.
🎯 Goal: Configure Nginx to route API requests to the correct backend based on the API version in the URL path.
📋 What You'll Learn
Create an Nginx server block listening on port 80
Route requests starting with /api/v1/ to the backend at http://localhost:5001
Route requests starting with /api/v2/ to the backend at http://localhost:5002
Return a 404 error for any other API paths
💡 Why This Matters
🌍 Real World
Many companies maintain multiple versions of their APIs to support old and new clients. Routing requests correctly ensures smooth operation and backward compatibility.
💼 Career
Understanding how to configure Nginx for API versioning is a common task for DevOps engineers and backend developers managing web services.
Progress0 / 4 steps
1
Create the basic Nginx server block
Create an Nginx server block that listens on port 80 and has a root location / that returns a simple text response "Welcome to API server".
Nginx
Need a hint?

Use listen 80; inside the server block. Use location / { return 200 'Welcome to API server'; } to respond with text.

2
Add routing for API version 1
Inside the existing server block, add a location block for /api/v1/ that proxies requests to http://localhost:5001.
Nginx
Need a hint?

Use location /api/v1/ { proxy_pass http://localhost:5001; } inside the server block.

3
Add routing for API version 2
Inside the existing server block, add a location block for /api/v2/ that proxies requests to http://localhost:5002.
Nginx
Need a hint?

Use location /api/v2/ { proxy_pass http://localhost:5002; } inside the server block.

4
Return 404 for other API paths
Inside the existing server block, add a location block for /api/ that returns a 404 error for any paths not matched by previous locations.
Nginx
Need a hint?

Use location /api/ { return 404; } to catch other API paths.