← Cloudflare SSL/TLS / ssl / origin-configuration / authenticated-origin-pull / set-up
Na úrovni hostname
Když povolíte Authenticated Origin Pulls (AOP) pro jednotlivé hostname, veškerý proxovaný provoz na daný hostname se ověřuje na origin webovém serveru pomocí certifikátu, který nahrajete. K ověření připojení z Cloudflare můžete použít klientské certifikáty z vaší Private PKI.
Globální, na úrovni zóny, a AOP pro jednotlivé hostname jsou nezávislé konfigurace. Zapnutí nebo vypnutí jedné z nich neovlivní tu druhou. Certifikáty pro jednotlivé hostname mají přednost před certifikáty na úrovni zóny a globálními certifikáty pro daný hostname.
Než začnete
Postup níže ukazuje, jak pomocí OpenSSL vygenerovat vlastní certifikát. Kořenový certifikát CA, který použijete k vydání vlastního certifikátu, by měl pocházet od stejné CA, kterou budete nahrát na váš origin server.
příklad OpenSSL
- Následujícím příkazem vygenerujte 4096bitový privátní klíč RSA se šifrováním AES-256. Po vyzvání zadejte přístupovou frázi.
openssl genrsa -aes256 -out rootca.key 4096- Vytvořte kořenový certifikát CA. Až budete vyzváni, vyplňte informace, které se mají do certifikátu zahrnout. U pole
Common Namepole použijte jako hodnotu název domény, nikoli hostname.
openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1826 -out rootca.crt- Vytvořte žádost o podpis certifikátu (CSR). Až budete vyzváni, vyplňte informace, které se mají do žádosti zahrnout. U pole
Common Namepole použijte jako hodnotu hostname.
openssl req -new -nodes -out cert.csr -newkey rsa:4096 -keyout cert.key- Podepište certifikát pomocí
rootca.keyarootca.crtvytvořený v předchozích krocích.
openssl x509 -req -in cert.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out cert.crt -days 730 -sha256 -extfile ./cert.v3.ext- Ujistěte se, že soubor rozšíření certifikátu
cert.v3.exturčuje následující:
basicConstraints=CA:FALSE1. Nahrání vlastního certifikátu
-
Přejděte na Origin server stránce.
Přejděte na Origin server ↗ -
Vyberte Authenticated Origin Pulls kartě.
-
V Na úrovni hostname sekci vyberte Nahrát certifikát.
-
Vložte certifikát a soukromý klíč a poté vyberte Pokračovat.
-
Zkontrolujte podrobnosti certifikátu, uložte si ID certifikátu pro pozdější použití a vyberte Pokračovat.
-
Na Přiřaďte hostitelské názvy stránce zadejte plně kvalifikovaný název domény, který má tento certifikát používat, a vyberte Přidat pro každý z nich. Tento krok můžete také přeskočit a hostname přiřadit později.
-
Vyberte Save a potvrďte.
Použijte Nahrání klientského certifikátu pro hostname endpoint pro nahrání vlastního certifikátu.
MYCERT="$(cat cert.crt|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')"
MYKEY="$(cat cert.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"
request_body=$(< <(cat <<EOF
{
"certificate": "$MYCERT",
"private_key": "$MYKEY",
"bundle_method":"ubiquitous"
}
EOF
))
# Push the certificate
curl --silent \
"https://api.cloudflare.com/client/v4/zones/$ZONEID/origin_tls_client_auth/hostnames/certificates" \
--header "Content-Type: application/json" \
--header "X-Auth-Email: $MYAUTHEMAIL" \
--header "X-Auth-Key: $MYAUTHKEY" \
--data "$request_body"V odpovědi API si uložte certifikát id protože bude potřeba v kroku 3.
2. Konfigurace origin serveru pro přijímání klientských certifikátů
Po instalaci certifikátu nastavte svůj origin web server tak, aby přijímal klientské certifikáty.
Podívejte se na příklady pro Apache a NGINX níže, nebo nahlédněte do dokumentace svého origin webového serveru, například HAProxy ↗, Traefik ↗, Caddy ↗.
Příklad pro Apache
SSLCACertificateFile /path/to/origin-pull-ca.pemV tomto příkladu byste certifikát uložili do /path/to/origin-pull-ca.pem.
Příklad pro NGINX
ssl_verify_client optional;
ssl_client_certificate /etc/nginx/certs/cloudflare.crt;V tomto příkladu byste certifikát uložili do /etc/nginx/certs/cloudflare.crt.
V této fázi můžete na origin serveru také povolit logování, abyste mohli ověřit, že konfigurace funguje.
3. Povolte Authenticated Origin Pulls pro daný hostname
-
Přejděte na Origin server stránce.
Přejděte na Origin server ↗ -
Vyberte Authenticated Origin Pulls kartě.
-
V Na úrovni hostname sekci najděte certifikát, který se má použít, a přiřaďte k němu hostname.
Pokud jste si v kroku 2 nastavili logování na origin serveru, otestujte a ověřte, že Authenticated Origin Pulls funguje.
Použijte Enable or Disable a Hostname for Client Authentication endpoint pro povolení Authenticated Origin Pulls pro konkrétní hostname.
Pokud jste si v kroku 2 nastavili logování na origin serveru, otestujte a ověřte, že Authenticated Origin Pulls funguje.
4. Vynuťte ověřovací kontrolu na svém origin serveru
Jakmile potvrdíte, že vše ve vašem konkrétním nastavení origin serveru funguje podle očekávání, nakonfigurujte origin server tak, aby ověřování vynucoval.
Příklad pro Apache
SSLVerifyClient requirePříklad pro NGINX
ssl_verify_client on;Po dokončení procesu můžete použít curl a odešlete požadavky přímo na IP adresy vašeho původního serveru, čímž ověříte, že požadavky selžou kvůli vynucené validaci certifikátu.
5. (Volitelné) Nastavte upozornění na vypršení platnosti
Můžete nastavit upozornění, abyste dostali oznámení ještě před vypršením platnosti certifikátů AOP.
Upozornění na vypršení platnosti certifikátu Authenticated Origin Pulls na úrovni hostname
Pro koho je určeno?Zákazníci, kteří nahrají vlastní certifikát pro použití s Authenticated Origin Pull (AOP) na úrovni hostname k zabezpečení připojení z Cloudflare k jejich origin serveru. Upozornění na vypršení platnosti certifikátu AOP se odesílají 30 dní a 14 dní před vypršením platnosti certifikátu.
Další možnosti / filtryŽádné.
Zahrnuto vAuthenticated Origin Pull.
Co dělat, když upozornění obdržíte?Nahrajte obnovený certifikát pro použití u AOP na úrovni hostname.
Viz Cloudflare Notifications pro další informace o nastavení upozornění.
Další možnosti
Viz Správa certifikátů pro další možnosti.
Informace o tom, jak konfiguraci odstranit, najdete v Vrácení zpět.