---
title: req.backend.is_origin
summary: null
url: >-
  https://www.fastly.com/documentation/reference/vcl/variables/backend-connection/req-backend-is-origin
---

**Type:** BOOL  
**Access:** read-only

**Available in:** pass, miss, fetch

Indicates whether the backend is a customer origin.

[Shielding](https://www.fastly.com/documentation/guides/concepts/shielding) directs traffic from the Fastly POPs closest to the end user to the Fastly POP closest to your backend, and onward to your servers.  It is therefore possible for a resource to be fetched from a backend that is another Fastly POP.  When this is the case, `req.backend.is_shield` will be `true` and `req.backend.is_origin` will be `false`.

Conversely, if a request is being forwarded from Fastly to a server outside of the Fastly network, `req.backend.is_shield` will  be `false` and `req.backend.is_origin` will be `true`.

> **WARNING:** The value of this variable depends on a backend having already been assigned to `req.backend`. [VCL snippets](https://www.fastly.com/documentation/guides/vcl/using/#vcl-snippets) run before the default backend assignment, so in `vcl_recv` this variable is only effective if you are using [custom VCL](https://www.fastly.com/documentation/guides/vcl/using/#custom-vcl) and your custom VCL code is inserted after the `#FASTLY recv` macro.  In subroutines other than `vcl_recv`, snippets can be used, and in general, the best place to interact with this variable is in `vcl_miss` and `vcl_pass`.
