{"id":23152,"date":"2026-05-22T10:45:40","date_gmt":"2026-05-22T08:45:40","guid":{"rendered":"https:\/\/www.transparentedge.eu\/en\/blog\/"},"modified":"2026-05-22T12:36:20","modified_gmt":"2026-05-22T10:36:20","slug":"your-cdn-as-an-api-gateway","status":"publish","type":"post","link":"https:\/\/www.transparentedge.eu\/en\/blog\/your-cdn-as-an-api-gateway\/","title":{"rendered":"Your CDN as an API Gateway"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Microservices, rate limiting, and rewriting at the edge<\/h2>\n\n\n\n<p>If you manage a microservices architecture, you probably have an <a href=\"https:\/\/www.reddit.com\/r\/aws\/comments\/1gpixqo\/what_does_api_gateway_actually_do\/\" type=\"link\" id=\"https:\/\/www.reddit.com\/r\/aws\/comments\/1gpixqo\/what_does_api_gateway_actually_do\/\" target=\"_blank\" rel=\"noreferrer noopener\">API gateway<\/a> sitting in front of them. And, most likely, you also have a CDN in front of that API gateway. Two layers, two deployments, two bills, and\u2014above all\u2014two extra latency hops for every single request. The logical question that any CTO might eventually ask is: <em>Do I really need both?<\/em><\/p>\n\n\n\n<p>The short answer is easy: yes. But the long answer comes with a surprise. If your CDN runs on VCL (Varnish Configuration Language), you might not need to duplicate your resources. In this post, we explain how the layer you already have in production can act as an API gateway\u2014routing microservices, limiting traffic, rewriting URLs, and applying security policies\u2014without adding a single extra component.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is an application gateway and why can your CDN already be one?<\/h2>\n\n\n\n<p>Traditionally, CDNs are used as intermediary proxies to cache content, accelerate delivery, or add an extra layer of security. However, there are lesser-known use cases that are incredibly valuable in complex architectures. One of them is using a CDN as an application gateway or application-level proxy.<\/p>\n\n\n\n<p>A <a href=\"https:\/\/www.transparentedge.eu\/en\/content-delivery-cdn\/next-generation-cdn\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/content-delivery-cdn\/next-generation-cdn\/\">next-generation CDN<\/a> acts as a hub for all requests hitting your domain. This means any routing, filtering, service mesh, or validation decisions can be made right at that layer. If you have a language like VCL to define that logic, the possibilities for any DevOps team are massive: SSL offloading, end-to-end SSL, <a href=\"https:\/\/www.transparentedge.eu\/en\/edge-security-en\/waf\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/edge-security-en\/waf\/\" target=\"_blank\" rel=\"noreferrer noopener\">WAF<\/a>, URL-based routing, multiple backends based on arbitrary criteria, <a href=\"https:\/\/www.transparentedge.eu\/blog\/ab-testing\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/blog\/ab-testing\/\">A\/B testing<\/a>, <a href=\"https:\/\/www.transparentedge.eu\/blog\/canary-deployment\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/blog\/canary-deployment\/\" target=\"_blank\" rel=\"noreferrer noopener\">canary deployments<\/a>, feature flags via <a href=\"https:\/\/www.transparentedge.eu\/blog\/making-decisions-based-on-http-headers\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/blog\/making-decisions-based-on-http-headers\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTTP headers<\/a>, and much more.<\/p>\n\n\n\n<p>In practice, the CDN stops being just an accelerator and becomes an orchestrator.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Practical example: a microservices API under a single domain<\/h2>\n\n\n\n<p>Imagine an API based on microservices distributed across different hosts. With an application gateway, you can expose all services under a single domain\u2014<code>api.mysite.com<\/code>\u2014and internally route each path to its corresponding backend: <code>\/login<\/code>, <code>\/analytics<\/code>, <code>\/cart<\/code>.<\/p>\n\n\n\n<p>Assuming three backends are already configured in the CDN:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>c0_login $\\rightarrow$ login.mycompany.com:8080\nc0_stats $\\rightarrow$ 11.22.33.44:80\nc0_shopcart $\\rightarrow$ cart.thirdpartyprovider.com:443<\/code><\/pre>\n\n\n\n<p>The VCL configuration would look like this:<\/p>\n\n\n\n<p>Fragmento de c\u00f3digo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sub vcl_recv {\n    if (req.url ~ \"^\/login\") {\n        set req.backend_hint = c0_login.backend();\n    } else if (req.url ~ \"^\/analytics\") {\n        set req.backend_hint = c0_stats.backend();\n    } else if (req.url ~ \"^\/cart\") {\n        set req.backend_hint = c0_shopcart.backend();\n    }\n}\n# To each their own\n<\/code><\/pre>\n\n\n\n<p>Without touching DNS, without coordinating deployments across teams, and without adding an extra component to the network path, you have unified three services under a single public URL. The end client only sees <code>api.mysite.com<\/code>, while each backend team continues to deploy to their own infrastructure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Going further: rate limiting, IP allow-listing, and URL rewriting<\/h2>\n\n\n\n<p>The previous example is just the foundation. From there, your VCL can grow in complexity to incorporate validations, throttling, redirects, URL rewriting, and more. Let\u2019s look at some common patterns applied to the same scenario:<\/p>\n\n\n\n<p>Fragmento de c\u00f3digo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sub vcl_recv {\n    if (req.url ~ \"^\/login\") {\n        set req.backend_hint = c0_login.backend();\n        # Only allow access to these URLs from the office IP\n        if (! req.http.True-Client-Ip == \"12.34.56.78\") {\n            error 403 \"The power of Christ compels you!\";\n        }\n    } else if (req.url ~ \"^\/analytics\") {\n        set req.backend_hint = c0_stats.backend();\n        # There are too many analytics fans; let's rate-limit to 30 req\/s\n        set req.http.x-ratelimit = 30;\n    } else if (req.url ~ \"^\/cart\") {\n        set req.backend_hint = c0_shopcart.backend();\n        # The cart belongs to a third party and has a URL we want to hide\n        set req.url = \"\/third-parties\/aef5677c321bb761c\/\";\n        # A bit of A\/B testing: if the client's IP ends in 0, 1, or 2,\n        # we send a header to the backend to serve version B\n        set req.http.abtesting = 0;\n        if (req.http.True-Client-IP ~ \"&#91;0-2]$\") {\n            set req.http.abtesting = 1;\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>What you just read covers, in about twenty lines, features that in a traditional architecture would require:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>A managed API gateway for routing.<\/li>\n\n\n\n<li>A separate plugin or service for rate limiting.<\/li>\n\n\n\n<li>Firewall rules or ACLs for IP allow-listing.<\/li>\n\n\n\n<li>An additional proxy for third-party URL rewriting.<\/li>\n\n\n\n<li>A feature flag or split-testing service for A\/B testing.<\/li>\n<\/ol>\n\n\n\n<p>All of that is compressed into the exact same layer you are already paying for to serve content.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When to (and when not to) use your CDN as an API gateway<\/h2>\n\n\n\n<p>Not everything fits this pattern. To make a solid architectural decision, it\u2019s best to understand both sides of the coin:<\/p>\n\n\n\n<p><strong>It&#8217;s a great fit when:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your microservices live on different cloud providers or are exposed on heterogeneous hosts.<\/li>\n\n\n\n<li>You need to hide the actual backend topology from the client.<\/li>\n\n\n\n<li>You want to apply global policies (rate limiting, allow-lists, security headers) without modifying every single service.<\/li>\n\n\n\n<li>You are looking to reduce network hops and eliminate the bill of a dedicated API gateway.<\/li>\n\n\n\n<li>Your team is comfortable with declarative code and finds it worthwhile to invest in VCL.<\/li>\n<\/ul>\n\n\n\n<p><strong>It&#8217;s a poor fit when:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need complex payload transformations (e.g., gRPC $\\leftrightarrow$ REST, GraphQL federation with resolvers, etc.).<\/li>\n\n\n\n<li>Your authentication logic requires maintaining user state beyond simply validating a token.<\/li>\n\n\n\n<li>You already have an internal service mesh (like Istio or Linkerd) handling intra-cluster routing and only need external exposure.<\/li>\n<\/ul>\n\n\n\n<p>In most cases, the answer isn&#8217;t about choosing one over the other, but rather deciding where to move each piece: <strong>routing, rate limiting, and rewriting go to the edge; deep business logic stays inside the cluster.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Metrics worth keeping an eye on<\/h2>\n\n\n\n<p>Before migrating rules to the CDN, define what you are going to measure to validate the change:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>p95\/p99 latency<\/strong> per route before and after the shift.<\/li>\n\n\n\n<li><strong>5xx error rates<\/strong> broken down by backend (VCL allows you to tag these).<\/li>\n\n\n\n<li><strong>Cache hit ratio<\/strong> on the routes now passing through the gateway.<\/li>\n\n\n\n<li><strong>Monthly cloud costs<\/strong> saved from the components you deprecate (managed gateways, intermediate load balancers).<\/li>\n<\/ul>\n\n\n\n<p>The possibilities of using a CDN as an application gateway are virtually limitless, and every architecture has its own nuances. If you want to explore a specific use case\u2014from a simple pattern to a hybrid multi-cloud topology with feature flags and A\/B testing at the edge\u2014<a href=\"https:\/\/www.transparentedge.eu\/en\/contact\/\" type=\"link\" id=\"https:\/\/www.transparentedge.eu\/en\/contact\/\" target=\"_blank\" rel=\"noreferrer noopener\">drop us a line<\/a> or check out the complete <a href=\"https:\/\/docs.transparentedge.eu\/guides\/web-application-gateway\" type=\"link\" id=\"https:\/\/docs.transparentedge.eu\/guides\/web-application-gateway\" target=\"_blank\" rel=\"noreferrer noopener\">Web Application Gateway guide<\/a> in our documentation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.<\/p>\n","protected":false},"author":14,"featured_media":23148,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[137,152],"tags":[],"class_list":["post-23152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-optimizacion-en","category-cdn-es-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Your CDN as an API Gateway - Transparent Edge<\/title>\n<meta name=\"description\" content=\"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Your CDN as an API Gateway - Transparent Edge\" \/>\n<meta property=\"og:description\" content=\"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/\" \/>\n<meta property=\"og:site_name\" content=\"Transparent Edge\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T08:45:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-22T10:36:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1030\" \/>\n\t<meta property=\"og:image:height\" content=\"580\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jara Exp\u00f3sito\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tedgeservices\" \/>\n<meta name=\"twitter:site\" content=\"@tedgeservices\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/\"},\"author\":{\"name\":\"Jara Exp\u00f3sito\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/person\\\/e2bd1cb076dea3d14dfdad4191c83f1a\"},\"headline\":\"Your CDN as an API Gateway\",\"datePublished\":\"2026-05-22T08:45:40+00:00\",\"dateModified\":\"2026-05-22T10:36:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/\"},\"wordCount\":852,\"publisher\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/api-gateway.jpg\",\"articleSection\":[\"optimizaci\u00f3n\",\"cdn\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/\",\"name\":\"Your CDN as an API Gateway - Transparent Edge\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/api-gateway.jpg\",\"datePublished\":\"2026-05-22T08:45:40+00:00\",\"dateModified\":\"2026-05-22T10:36:20+00:00\",\"description\":\"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/api-gateway.jpg\",\"contentUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/api-gateway.jpg\",\"width\":1030,\"height\":580},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/your-cdn-as-an-api-gateway\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.transparentedge.eu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Your CDN as an API Gateway\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/\",\"name\":\"Transparent Edge\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\"},\"alternateName\":\"Transparent Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.transparentedge.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\",\"name\":\"Transparent Edge Services\",\"alternateName\":\"Transparent Edge\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logotipo-cuadrado.jpg\",\"contentUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logotipo-cuadrado.jpg\",\"width\":1328,\"height\":1180,\"caption\":\"Transparent Edge Services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/tedgeservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/transparent-edge\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC5zZoyZmiLGBTAdiFpj2xHA\\\/videos\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/person\\\/e2bd1cb076dea3d14dfdad4191c83f1a\",\"name\":\"Jara Exp\u00f3sito\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Your CDN as an API Gateway - Transparent Edge","description":"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/","og_locale":"en_US","og_type":"article","og_title":"Your CDN as an API Gateway - Transparent Edge","og_description":"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.","og_url":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/","og_site_name":"Transparent Edge","article_published_time":"2026-05-22T08:45:40+00:00","article_modified_time":"2026-05-22T10:36:20+00:00","og_image":[{"width":1030,"height":580,"url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg","type":"image\/jpeg"}],"author":"Jara Exp\u00f3sito","twitter_card":"summary_large_image","twitter_creator":"@tedgeservices","twitter_site":"@tedgeservices","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#article","isPartOf":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/"},"author":{"name":"Jara Exp\u00f3sito","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/person\/e2bd1cb076dea3d14dfdad4191c83f1a"},"headline":"Your CDN as an API Gateway","datePublished":"2026-05-22T08:45:40+00:00","dateModified":"2026-05-22T10:36:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/"},"wordCount":852,"publisher":{"@id":"https:\/\/www.transparentedge.eu\/#organization"},"image":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#primaryimage"},"thumbnailUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg","articleSection":["optimizaci\u00f3n","cdn"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/","url":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/","name":"Your CDN as an API Gateway - Transparent Edge","isPartOf":{"@id":"https:\/\/www.transparentedge.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#primaryimage"},"image":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#primaryimage"},"thumbnailUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg","datePublished":"2026-05-22T08:45:40+00:00","dateModified":"2026-05-22T10:36:20+00:00","description":"Learn how to use your CDN as an API gateway with VCL: route microservices, rate limit traffic, and rewrite URLs without extra infrastructure costs.","breadcrumb":{"@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#primaryimage","url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg","contentUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2026\/05\/api-gateway.jpg","width":1030,"height":580},{"@type":"BreadcrumbList","@id":"https:\/\/www.transparentedge.eu\/blog\/your-cdn-as-an-api-gateway\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.transparentedge.eu\/en\/"},{"@type":"ListItem","position":2,"name":"Your CDN as an API Gateway"}]},{"@type":"WebSite","@id":"https:\/\/www.transparentedge.eu\/#website","url":"https:\/\/www.transparentedge.eu\/","name":"Transparent Edge","description":"","publisher":{"@id":"https:\/\/www.transparentedge.eu\/#organization"},"alternateName":"Transparent Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.transparentedge.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.transparentedge.eu\/#organization","name":"Transparent Edge Services","alternateName":"Transparent Edge","url":"https:\/\/www.transparentedge.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2023\/07\/logotipo-cuadrado.jpg","contentUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2023\/07\/logotipo-cuadrado.jpg","width":1328,"height":1180,"caption":"Transparent Edge Services"},"image":{"@id":"https:\/\/www.transparentedge.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/tedgeservices","https:\/\/www.linkedin.com\/company\/transparent-edge\/","https:\/\/www.youtube.com\/channel\/UC5zZoyZmiLGBTAdiFpj2xHA\/videos"]},{"@type":"Person","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/person\/e2bd1cb076dea3d14dfdad4191c83f1a","name":"Jara Exp\u00f3sito"}]}},"_links":{"self":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/23152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/comments?post=23152"}],"version-history":[{"count":4,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/23152\/revisions"}],"predecessor-version":[{"id":23162,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/23152\/revisions\/23162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/media\/23148"}],"wp:attachment":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/media?parent=23152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/categories?post=23152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/tags?post=23152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}