← Cloudflare One / cloudflare-one / tutorials
Vytvoření vlastních hlaviček pro originy chráněné Cloudflare Access pomocí Workers
Tento návod se zabývá tím, jak používat Cloudflare Worker a přidejte vlastní hlavičky HTTP k provozu a zjistěte, jak tyto vlastní hlavičky odeslat vašim origin services chráněným Cloudflare Access.
Některé aplikace a síťové implementace vyžadují, aby byly na origin server předávány konkrétní vlastní hlavičky, což může být u provozu procházejícího přes Zero Trust proxy obtížné implementovat. Worker můžete nakonfigurovat tak, aby odesílal hlavičky autorizace uživatele vyžadované službou Access.
Než začnete
- Zabezpečení původního serveru pomocí Cloudflare Access
Než začnete
-
V Cloudflare dashboard ↗, přejděte do Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
Pokud jde o váš první Worker, vyberte Create Worker. Jinak vyberte Vytvoření aplikace, pak vyberte Create Worker.
-
Zadejte snadno identifikovatelný název Workeru a poté vyberte Nasadit.
-
Vyberte Upravit kód.
-
Zadejte následující Worker:
export default {
async fetch(request, env, ctx) {
const { headers } = request;
const cfaccessemail = headers.get("cf-access-authenticated-user-email");
const requestWithID = new Request(request);
requestWithID.headers.set("company-user-id", cfaccessemail);
return fetch(requestWithID);
},
};export default {
async fetch(request, env, ctx): Promise<Response> {
const { headers } = request;
const cfaccessemail = headers.get("cf-access-authenticated-user-email");
const requestWithID = new Request(request);
requestWithID.headers.set("company-user-id", cfaccessemail);
return fetch(requestWithID);
},
} satisfies ExportedHandler<Env>;- Vyberte Uložit a nasadit.
Váš Worker je nyní připravený odesílat vlastní hlavičky do vašich originových služeb chráněných Access.
Použijte Worker na svůj hostname
- Vyberte Worker, který jste vytvořili, a poté přejděte na Triggery.
- V Trasy, vyberte Přidat trasu.
- Zadejte hostname a zónu pro váš origin a poté vyberte Přidat trasu.
Worker nyní vloží vlastní hlavičku do požadavků, které odpovídají definované trase. Například:
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Encoding": "gzip",
"Accept-Language": "en-US,en;q=0.9",
"Cf-Access-Authenticated-User-Email": "[email protected]",
"Company-User-Id": "[email protected]",
"Connection": "keep-alive"