Jamdesk Documentation logo

AWS Route 53 e CloudFront

Inoltra il traffico /docs tramite AWS CloudFront e Route 53 al tuo sito Jamdesk. Include configurazione della distribuzione, origine e regole di cache.

Configura una distribuzione CloudFront per inoltrare /docs/* al tuo sito Jamdesk, con Route 53 per il DNS. Richiede circa 15 minuti.

Prerequisiti

  • Un account AWS con accesso a CloudFront e Route 53
  • Il tuo dominio gestito in Route 53 (o la possibilità di aggiornare il DNS altrove)
  • Il tuo sottodominio Jamdesk (si trova nelle impostazioni della dashboard)
  • Il tuo dominio personalizzato registrato e verificato via DNS nella dashboard Jamdesk

Se utilizzi un sottopercorso personalizzato invece del predefinito /docs, sostituisci /docs/* nel pattern del percorso del comportamento della cache (Passaggio 3) con il tuo sottopercorso. Aggiorna di nuovo la distribuzione dopo qualsiasi rinomina nella dashboard.

Passaggio 1: crea una distribuzione CloudFront

  1. Apri la console CloudFront
  2. Fai clic su Create Distribution
  3. Configura l'origine:
ImpostazioneValore
Dominio di origineYOUR_SLUG.jamdesk.app
ProtocolloSolo HTTPS
Nomejamdesk-docs-origin

Sostituisci YOUR_SLUG con il tuo sottodominio Jamdesk.

Passaggio 2: configura le impostazioni dell'origine

Aggiungi intestazioni personalizzate nelle impostazioni di origine per identificare il tuo dominio:

Nome intestazioneValore
X-Forwarded-Hostyoursite.com
X-Jamdesk-Forwarded-Hostyoursite.com

Queste intestazioni indicano a Jamdesk quale dominio sta effettuando la richiesta.

Questo passaggio è obbligatorio. Saltarlo causa un errore silenzioso. La policy AllViewerExceptHostHeader (passaggio successivo) inoltra solo le intestazioni inviate dal browser del visitatore. Non ne aggiunge di nuove. X-Jamdesk-Forwarded-Host raggiunge Jamdesk solo come intestazione personalizzata dell'origine. Senza di essa, le richieste hanno comunque successo, ma le pagine vengono servite con noindex e con link canonici che puntano a YOUR_SLUG.jamdesk.app invece che al tuo dominio.

Le intestazioni statiche dell'origine non possono variare per richiesta. Per servire più nomi di dominio alternativi da un'unica distribuzione, usa invece una CloudFront Function su viewer request. Falla impostare request.headers['x-jamdesk-forwarded-host'] = { value: request.headers.host.value }.

Passaggio 3: crea i comportamenti della cache

Aggiungi comportamenti per instradare /docs/* e le richieste di asset verso la tua origine Jamdesk:

  1. Vai alla scheda Behaviors
  2. Fai clic su Create Behavior
  3. Crea tre comportamenti con queste impostazioni:
Pattern del percorsoOriginePolicy della cachePolicy della richiesta di origine
/docs/*jamdesk-docs-originCachingOptimizedAllViewerExceptHostHeader
/_next/*jamdesk-docs-originCachingOptimizedAllViewerExceptHostHeader
/_jd/*jamdesk-docs-originCachingOptimizedAllViewerExceptHostHeader

Imposta Viewer protocol policy su Redirect HTTP to HTTPS per tutti e tre.

Ogni comportamento è obbligatorio. /_next/* e /_jd/* servono JavaScript, CSS, font e immagini che le pagine della documentazione caricano. La policy AllViewerExceptHostHeader inoltra le intestazioni della richiesta del visitatore (tutte tranne Host, che CloudFront riserva per l'origine). Impostala su tutti e tre.

Passaggio 4: aggiungi il nome di dominio alternativo

  1. Nella scheda General, fai clic su Edit
  2. In Alternate domain name (CNAME), aggiungi yoursite.com
  3. Seleziona o richiedi un certificato SSL per il tuo dominio

Passaggio 5: configura Route 53

Crea un record alias che punti alla tua distribuzione CloudFront:

  1. Apri la console Route 53
  2. Seleziona la tua hosted zone
  3. Fai clic su Create Record
  4. Configura:
ImpostazioneValore
Record nameyoursite.com (o lascia vuoto per l'apex)
Record typeA
AliasYes
Route traffic toCloudFront distribution
DistributionSeleziona la tua distribuzione

Passaggio 6: verifica

Attendi la propagazione DNS (di solito 5-15 minuti). Poi visita https://yoursite.com/docs e verifica che la documentazione si carichi.

Riepilogo della configurazione CloudFront completa

Distribution Settings:
├── Origin: YOUR_SLUG.jamdesk.app
│   ├── Custom Header: X-Forwarded-Host = yoursite.com
│   └── Custom Header: X-Jamdesk-Forwarded-Host = yoursite.com
├── Behavior: /docs/*
│   ├── Cache Policy: CachingOptimized
│   └── Origin Request Policy: AllViewerExceptHostHeader
├── Behavior: /_next/*
│   ├── Cache Policy: CachingOptimized
│   └── Origin Request Policy: AllViewerExceptHostHeader
├── Behavior: /_jd/*
│   ├── Cache Policy: CachingOptimized
│   └── Origin Request Policy: AllViewerExceptHostHeader
└── Alternate Domain: yoursite.com (with SSL certificate)

Risoluzione dei problemi

Verifica che il dominio di origine sia esattamente YOUR_SLUG.jamdesk.app, senza il prefisso https://.

Verifica che la Viewer protocol policy sia impostata su "Redirect HTTP to HTTPS" e che il tuo certificato SSL sia valido.

Crea un'invalidazione CloudFront per /docs/* per svuotare i contenuti in cache dopo la pubblicazione delle modifiche.

Se vedi "Domain is not authorized to serve this content":

  1. Verifica che il tuo dominio sia registrato nella dashboard Jamdesk
  2. Completa la verifica DNS (record TXT) per il tuo dominio
  3. Imposta le intestazioni personalizzate X-Forwarded-Host e X-Jamdesk-Forwarded-Host nella configurazione dell'origine
  4. Controlla che il tuo dominio sia associato al progetto corretto

Il dominio deve essere verificato prima che CloudFront possa servire la documentazione.

Il controllo preliminare recupera /_jd/preflight sul tuo dominio attivo e verifica cosa è arrivato a Jamdesk. Se segnala che il tuo proxy "non si identifica", CloudFront sta raggiungendo Jamdesk senza X-Jamdesk-Forwarded-Host. Ricontrolla l'intestazione personalizzata dell'origine al Passaggio 2. Vedi Custom domain only per il significato di ogni messaggio del controllo preliminare.

Qual è il prossimo passo?

Custom Domain Only

Impedisci al tuo sottodominio di rispondere direttamente

Custom Domains

Verifica il DNS e risolvi i problemi

Subpath Hosting

Servi la documentazione su /docs