SSL-certifikater kan højst være gyldige i 199 dage. Senest 15-03-2027 bliver grænsen 99 dage, for DigiCert-certifikater allerede fra 24-02-2027. Læs mere →

NetScaler / Citrix ADC SSL-certifikat via ACME

NetScaler kan ikke selv hente ACME-certifikater. Vi bruger en Windows-server til management med simple-acme og et færdigt PowerShell-script, der overfører certifikatet via NITRO API. Hele forløbet, inklusive fornyelser, kører uden manuel handling.

Understøttede versioner

NetScaler ADCVersionerGuiden sætter ingen versionsgrænseKører påWindows Server 2016 eller nyere, eller 2012/2012 R2 med WMF 5.1 (PowerShell 5.1)ACME-klientsimple-acme 2.4.0+ (FairSSL-udgaven, .NET 10 medfølger) + NITRO API, CredentialManager

Sådan er løsningen sat op

  • ✓ Windows Server (kan være en eksisterende managementserver) kører simple-acme.
  • ✓ simple-acme henter certifikatet fra FairSSL via AutoDNS-validering. Ingen DNS API-nøgler nødvendige.
  • ✓ Install-NetScalerCert.ps1 kører som installationsscript og overfører certifikatet til NetScaler via NITRO REST API over HTTPS.
  • ✓ Scriptet binder certifikatet til en eller flere SSL vServere (eller global VPN-binding) og gemmer konfigurationen.
  • ✓ Den daglige planlagte opgave fra simple-acme fornyer automatisk, når ARI eller den indbyggede 7-dages fallback udløser fornyelse.

Opsætning

Trin 1: Installer simple-acme

Hent FairSSL-udgaven af simple-acme (forudkonfigureret med ACME-adresse og fornyelsesindstillinger, og indeholder Install-NetScalerCert.ps1 i Scripts-mappen). Udpak til C:\simple-acme. Installer derefter CredentialManager-modulet, som scriptet bruger til at slå login op sikkert.

# PowerShell, Run as Administrator

Install-Module CredentialManager -Force -Scope CurrentUser

Trin 2: Opret NITRO-bruger på NetScaler

På NetScaler: opret en dedikeret automatiseringsbruger, der må bruge NITRO API til at uploade SSL-filer, oprette eller opdatere SSL cert-key-par, binde certifikater til SSL vServere og gemme konfigurationen. Gem kontoens legitimationsoplysninger i Windows Credential Manager på managementserveren.

$credential = Get-Credential -UserName "nsadmin" -Message "NetScaler NITRO-bruger"
New-StoredCredential -Target "NetScaler-acme-user" -Credentials $credential -Persist LocalMachine

Trin 3: Konfigurer AutoDNS

I dit FairSSL-kontrolpanel: opret en CNAME viderestilling for _dnsauth.<dit-domæne> til FairSSLs DNS-server. Engangsopsætning. Se den fulde AutoDNS-vejledning.

Trin 4: Udsted og installer

Kør kommandoen fra C:\simple-acme som administrator. Erstat YOUR_NS_HOST, YOUR_ADC_CERTKEY_NAME og YOUR_VSERVER_NAME. Hvis du fornyer et certifikat, der allerede er bundet, skal du angive det eksisterende cert-key-navn i -certName.

wacs.exe --verbose --baseuri "https://fairssl.dk/acme" `
  --eab-key-identifier DIN_EAB_KID --eab-key DIN_EAB_HMAC --accepttos `
  --source manual --host "ns.eksempel.dk" --validation none `
  --store pemfiles --pemfilespath "C:\simple-acme\Certificates" `
  --pemfilesname "ns-eksempel-dk" --friendlyname "fairssl-ns-cert" `
  --installation script --script ".\Scripts\Install-NetScalerCert.ps1" `
  --scriptparameters "-StorePath 'C:\simple-acme\Certificates' -FilePrefix 'ns-eksempel-dk' -nsHost 'YOUR_NS_HOST' -certName 'YOUR_ADC_CERTKEY_NAME' -vServerName 'YOUR_VSERVER_NAME' -CredentialTarget 'NetScaler-acme-user'"

Standardvalget er -DeploymentMode Auto, som vælger SSL cert-key bundle på understøttede versioner (14.1 build 21.x+) og klassisk cert-key ellers. Brug -DeploymentMode Classic hvis enheden kræver den ældre metode.

Trin 5: Almindelige varianter

  • Flere vServere: brug -vServerName 'VS1,VS2'
  • SNI-bindinger: tilføj -SniCert
  • Citrix Gateway / global VPN: fjern -vServerName og tilføj -BindGlobalVpn
  • Betroet managementcertifikat: tilføj -ValidateManagementCertificate
  • Brug HTTPS til management: -UseHttp findes som mulighed, men brug den kun på et isoleret managementnetværk, da legitimationsoplysninger og private nøgler ellers sendes ukrypteret.

Trin 6: Verificér

I NetScalers web-UI: kontrollér under Traffic Management > SSL > Certificates, at det nye certifikat er uploadet, og at den valgte SSL vServer eller VPN-binding bruger det. Hvis tjenesten er offentlig, så kør hostnavnet gennem FairSSLs SSL-scanner.

Fejlfinding

Scriptet kan ikke nå NetScalers management-interface

Windows-serveren skal kunne nå NetScalers managementadresse på TCP/443 (eller TCP/80, hvis du har sat -UseHttp, hvilket ikke er anbefalet). Tjek firewall-regler, at managementadressen er tilgængelig over HTTPS, og at den anvendte konto kan logge på NITRO API.

NITRO returnerer 401 Unauthorized

Den NITRO-bruger, der er gemt i Credential Manager, har ikke nok rettigheder. NetScaler-brugeren skal kunne læse versionen og eksisterende cert-key, uploade systemfiler, oprette og opdatere SSL cert-key eller SSL cert-key bundle, binde certifikater til SSL vServer eller global VPN, og gemme konfigurationen. Tildel brugeren en command-policy, der dækker disse NITRO-operationer.

Certifikatet uploades, men bindes ikke

Tjek at -vServerName matcher det eksakte navn på SSL vServeren. Husk -SniCert, hvis du bruger SNI. Til global VPN-binding bruges -BindGlobalVpn i stedet for -vServerName.

Certifikater på mange servere og appliances

Et offentligt SSL-certifikat kan højst være gyldigt i 199 dage nu, 99 dage senest 15-03-2027 og 46 dage senest 15-03-2029. Hvert certifikat skal dermed skiftes mindst to gange om året nu og mindst otte gange om året fra 2029, på hver server, firewall og load balancer, det bruges på. sslbrain fra FairSSL kører som en appliance i jeres eget netværk og fornyer og installerer certifikaterne fra ét sted, også på udstyr uden agent.

Sådan fornyer og installerer sslbrain certifikater på NetScaler(åbner sslbrain.com i en ny fane)

Ofte stillede spørgsmål

Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.

Selve ADC-enheden henter ikke ACME-certifikater i denne opsætning. Vi bruger en proxy-løsning: en Windows-server udsteder certifikatet via simple-acme og overfører det til NetScaler via NITRO API. Det er den samme model, der bruges til F5 BIG-IP, FortiGate (legacy), KEMP og en lang række andre enheder. Har du NetScaler Console med ACME eller Zero Touch, er det en separat model, der ikke dækkes her.
Begge dele. Install-NetScalerCert.ps1 har en Auto-tilstand, der spørger enheden om versionen og vælger SSL cert-key bundle, når ADC-versionen understøtter det, og der ikke allerede findes en klassisk cert-key med samme navn. Ældre enheder og global VPN-binding bruger klassisk SSL cert-key, fordi bundles kun kan bindes til SSL vServere. Brug -DeploymentMode Classic, hvis du vil tvinge den ældre metode.
Nej. Windows-serveren der kører simple-acme, skal blot kunne nå NetScalers management-adresse over HTTPS. Det kræver ingen offentlig adgang. FairSSL AutoDNS håndterer al ACME-validering, så NetScaler skal hverken eksponere port 80 eller en DNS-API.
Scriptet accepterer som standard selvsignerede managementcertifikater, da det er det mest almindelige. Tilføj -ValidateManagementCertificate i parametrene, hvis NetScalers managementcertifikat er betroet af Windows-serveren, og du vil håndhæve fuld TLS-validering.
Ja. Brug -vServerName "VS1,VS2,VS3" i scriptets parametre. Scriptet binder det samme certifikat til alle anførte vServere og gemmer konfigurationen til slut.
Fjern -vServerName og tilføj -BindGlobalVpn. Global VPN-binding bruger altid klassisk SSL cert-key (ikke bundles), så scriptet vælger automatisk det rigtige format.
simple-acme planlægger automatisk en daglig opgave. Når ARI eller den indbyggede 7-dages fallback udløser fornyelse, henter den et nyt certifikat, kører Install-NetScalerCert.ps1 igen, og certifikatet på NetScaler udskiftes uden manuel handling.

Klar til at automatisere NetScaler-certifikater?

Opret en gratis konto og bestil dit første certifikat. Et DV-certifikat udstedes på under 2 minutter.