SSL-certifikatens maximala livslängd reduceras till 200 dagar från mars 2026. Läs mer →

NetScaler / Citrix ADC SSL-certifikat via ACME

NetScaler kan inte själv hämta ACME-certifikat. Vi använder en Windows-server för management med simple-acme och ett färdigt PowerShell-skript som överför certifikatet via NITRO API. Hela förloppet, inklusive förnyelser, körs utan manuell åtgärd.

Så är lösningen uppsatt

  • Windows Server (kan vara en befintlig managementvärd) kör simple-acme.
  • simple-acme hämtar certifikatet från FairSSL via Auto DNS-validering. Inga DNS API-nycklar behövs.
  • Install-NetScalerCert.ps1 körs som installationsskript och överför certifikatet till NetScaler via NITRO REST API över HTTPS.
  • Skriptet binder certifikatet till en eller flera SSL vServere (eller global VPN-bindning) och sparar konfigurationen.
  • Den dagliga schemalagda aktiviteten från simple-acme förnyar automatiskt när ARI eller den inbyggda 7-dagars fallback utlöser förnyelse.

Uppsättning

Steg 1: Installera simple-acme

Hämta FairSSL-utgåvan av simple-acme (förkonfigurerad med ACME-adress och förnyelseinställningar, och innehåller Install-NetScalerCert.ps1 i Scripts-mappen). Packa upp till C:\simple-acme. Installera sedan CredentialManager-modulen som skriptet använder för att slå upp inloggning säkert.

# PowerShell, Run as Administrator

Install-Module CredentialManager -Force -Scope CurrentUser

Steg 2: Skapa NITRO-användare på NetScaler

På NetScaler: skapa en dedikerad automatiseringsanvändare som får använda NITRO API för att ladda upp SSL-filer, skapa eller uppdatera SSL cert-key-par, binda certifikat till SSL vServere och spara konfigurationen. Spara kontots inloggningsuppgifter i Windows Credential Manager på managementservern.

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

Steg 3: Konfigurera Auto DNS

I din FairSSL-kontrollpanel: skapa en CNAME-post för _acme-challenge.<din-domän> till FairSSLs DNS-server. Engångsuppsättning. Se den fullständiga Auto DNS-guiden.

Steg 4: Utfärda och installera

Kör kommandot från C:\simple-acme som administratör. Ersätt YOUR_NS_HOST, YOUR_ADC_CERTKEY_NAME och YOUR_VSERVER_NAME. Om du förnyar ett certifikat som redan är bundet ska du ange det befintliga cert-key-namnet 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.exempel.se" --validation none `
  --store pemfiles --pemfilespath "C:\simple-acme\Certificates" `
  --pemfilesname "ns-exempel-se" --friendlyname "fairssl-ns-cert" `
  --installation script --script ".\Scripts\Install-NetScalerCert.ps1" `
  --scriptparameters "-StorePath 'C:\simple-acme\Certificates' -FilePrefix 'ns-exempel-se' -nsHost 'YOUR_NS_HOST' -certName 'YOUR_ADC_CERTKEY_NAME' -vServerName 'YOUR_VSERVER_NAME' -CredentialTarget 'NetScaler-acme-user'"

Standard är -DeploymentMode Auto, som väljer SSL cert-key bundle på versioner som stödjer det och klassisk cert-key annars. Använd -DeploymentMode Classic om enheten kräver den äldre metoden.

Steg 5: Vanliga varianter

  • Flera vServere: använd -vServerName 'VS1,VS2'
  • SNI-bindningar: lägg till -SniCert
  • Citrix Gateway / global VPN: ta bort -vServerName och lägg till -BindGlobalVpn
  • Betrott managementcertifikat: lägg till -ValidateManagementCertificate
  • Använd HTTPS för management: -UseHttp finns som alternativ, men använd den bara på ett isolerat managementnätverk, eftersom inloggningsuppgifter och privata nycklar annars skickas okrypterat.

Steg 6: Verifiera

I NetScalers webb-UI: kontrollera under Traffic Management > SSL > Certificates att det nya certifikatet är uppladdat och att den valda SSL vServern eller VPN-bindningen använder det. Om tjänsten är publik, kör värdnamnet genom FairSSLs SSL-skanner.

Felsökning

Skriptet når inte NetScalers managementgränssnitt

Windows-servern måste nå NetScalers managementadress på TCP/443 (eller TCP/80 om -UseHttp är satt, vilket inte rekommenderas). Kontrollera brandväggsregler, att managementadressen är tillgänglig över HTTPS och att kontot kan logga in på NITRO API.

NITRO returnerar 401 Unauthorized

NITRO-användaren som är sparad i Credential Manager har inte tillräckliga rättigheter. NetScaler-användaren ska kunna läsa versionen och befintlig cert-key, ladda upp systemfiler, skapa och uppdatera SSL cert-key eller SSL cert-key bundle, binda certifikat till SSL vServer eller global VPN, och spara konfigurationen. Tilldela användaren en command-policy som täcker dessa NITRO-operationer.

Certifikatet laddas upp men binds inte

Kontrollera att -vServerName matchar det exakta namnet på SSL vServern. Kom ihåg -SniCert om du använder SNI. För global VPN-bindning används -BindGlobalVpn i stället för -vServerName.

Vanliga frågor

Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.

Själva ADC-enheten hämtar inte ACME-certifikat i denna uppsättning. Vi använder en proxy-lösning: en Windows-server utfärdar certifikatet via simple-acme och överför det till NetScaler via NITRO API. Samma mönster används för F5 BIG-IP, FortiGate (legacy), KEMP och en rad andra enheter. Har du NetScaler Console med ACME eller Zero Touch är det en separat modell som inte täcks här.
Båda. Install-NetScalerCert.ps1 har en Auto-tillstånd som frågar enheten om versionen och väljer SSL cert-key bundle när ADC-versionen stödjer det, och det inte redan finns en klassisk cert-key med samma namn. Äldre enheter och global VPN-bindning använder klassisk SSL cert-key eftersom bundles bara kan bindas till SSL vServere. Använd -DeploymentMode Classic om du vill tvinga den äldre metoden.
Nej. Windows-servern som kör simple-acme behöver bara nå NetScalers managementadress över HTTPS. Ingen publik åtkomst krävs. FairSSL Auto DNS sköter all ACME-validering, så NetScaler behöver varken exponera port 80 eller ett DNS-API.
Skriptet accepterar som standard självsignerade managementcertifikat, eftersom det är det vanligaste. Lägg till -ValidateManagementCertificate i parametrarna om NetScalers managementcertifikat är betrott av Windows-servern och du vill upprätthålla fullständig TLS-validering.
Ja. Använd -vServerName "VS1,VS2,VS3" i skriptets parametrar. Skriptet binder samma certifikat till alla angivna vServere och sparar konfigurationen till sist.
Ta bort -vServerName och lägg till -BindGlobalVpn. Global VPN-bindning använder alltid klassisk SSL cert-key (inte bundles), så skriptet väljer automatiskt rätt format.
simple-acme schemalägger automatiskt en daglig aktivitet. När ARI eller den inbyggda 7-dagars fallback utlöser förnyelse hämtas ett nytt certifikat, Install-NetScalerCert.ps1 körs igen, och certifikatet på NetScaler byts ut utan manuell åtgärd.

Redo att automatisera NetScaler-certifikat?

Skapa ett gratis konto och utfärda ditt första certifikat på under 10 minuter.