# Bind a reverse proxy Suppose you want to run the Hono application behind a reverse proxy. In that case, you may need to reflect the value of the `x-forwarded-proto` header. For example, you need to be able to get the protocol of the URL specified by `x-forwarded-proto` in `c.req.url`. The best practice for handling this is to create a new `Request` object before Hono's `app.fetch` and pass it to `app.fetch`. ## Cloudflare Workers / Deno / Bun ```ts import { Hono } from 'hono' const app = new Hono() //... export default { fetch: (req: Request) => { const url = new URL(req.url) url.protocol = req.headers.get('x-forwarded-proto') ?? url.protocol return app.fetch(new Request(url, req)) }, } ``` ## Node.js ```ts import { Hono } from 'hono' import { serve } from '@hono/node-server' const app = new Hono() serve({ fetch: (req) => { const url = new URL(req.url) url.protocol = req.headers.get('x-forwarded-proto') ?? url.protocol return app.fetch(new Request(url, req)) }, }) ```