Använda SSL med Dispatcher using-ssl-with-dispatcher

Använd SSL-anslutningar mellan Dispatcher och återgivningsdatorn:

NOTE
Åtgärder som rör SSL-certifikat är bundna till produkter från tredje part. De omfattas inte av Adobe Platinum Maintenance and Support-avtalet.

Använd SSL när Dispatcher ansluter till AEM use-ssl-when-dispatcher-connects-to-aem

Konfigurera Dispatcher för att kommunicera med AEM eller CQ-återgivningsinstansen med SSL-anslutningar.

Konfigurera AEM eller CQ att använda SSL innan du konfigurerar Dispatcher:

När Dispatcher tar emot en HTTPS-begäran inkluderar Dispatcher följande rubriker i den efterföljande begäran som skickas till AEM eller CQ:

  • X-Forwarded-SSL
  • X-Forwarded-SSL-Cipher
  • X-Forwarded-SSL-Keysize
  • X-Forwarded-SSL-Session-ID

En begäran via Apache-2.4 med mod_ssl innehåller rubriker som liknar följande exempel:

X-Forwarded-SSL: on
X-Forwarded-SSL-Cipher: DHE-RSA-AES256-SHA
X-Forwarded-SSL-Session-ID: 814825E8CD055B4C166C2EF6D75E1D0FE786FFB29DEB6DE1E239D5C771CB5B4D

Konfigurera Dispatcher att använda SSL configuring-dispatcher-to-use-ssl

dispatcher.any-filen kräver följande egenskaper för att konfigurera Dispatcher att ansluta till AEM eller CQ över SSL:

  • En virtuell värd som hanterar HTTPS-begäranden.
  • Avsnittet renders i den virtuella värden innehåller ett objekt som identifierar värdnamnet och porten för CQ- eller AEM-instansen som använder HTTPS.
  • Objektet renders innehåller egenskapen secure för värdet 1.

Obs! Skapa en annan virtuell värd för att hantera HTTP-begäranden, om det behövs.

I följande exempelfil dispatcher.any visas egenskapsvärden för anslutning med HTTPS till en CQ-instans som körs på värden localhost och port 8443:

/farms
{
   /secure
   {
      /virtualhosts
      {
         # select this farm for all incoming HTTPS requests
         "https://*"
      }
      /renders
      {
      /0001
         {
            # hostname or IP of the render
            /hostname "localhost"
            # port of the render
            /port "8443"
            # connect via HTTPS
            /secure "1"
         }
      }
     # the rest of the properties are omitted
   }

   /non-secure
   {
      /virtualhosts
      {
         # select this farm for all incoming HTTP requests
         "http://*"
      }
      /renders
      {
         /0001
      {
         # hostname or IP of the render
         /hostname "localhost"
         # port of the render
         /port "4503"
      }
   }
    # the rest of the properties are omitted
}

Konfigurera ömsesidigt SSL mellan Dispatcher och AEM configuring-mutual-ssl-between-dispatcher-and-aem

Konfigurera anslutningarna mellan Dispatcher och återgivningsdatorn (vanligtvis en AEM eller CQ-publiceringsinstans) om du vill använda ömsesidig SSL:

  • Dispatcher ansluter till återgivningsinstansen via SSL.
  • Återgivningsinstansen verifierar giltigheten för Dispatcher-certifikatet.
  • Dispatcher verifierar att certifikatutfärdaren för återgivningsinstansens certifikat är betrodd.
  • (Valfritt) Dispatcher verifierar att återgivningsinstansens certifikat matchar återgivningsinstansens serveradress.

Om du vill konfigurera gemensam SSL måste du ha certifikat som är signerade med en betrodd certifikatutfärdare (CA). Självsignerade certifikat räcker inte. Du kan antingen agera som certifikatutfärdare eller använda tjänsterna från en tredjepartscertifikatutfärdare för att signera dina certifikat. Om du vill konfigurera gemensam SSL behöver du följande objekt:

  • Signerade certifikat för återgivningsinstansen och Dispatcher
  • Certifikatutfärdarcertifikatet (om du agerar som certifikatutfärdare)
  • OpenSSL-bibliotek för generering av certifikatutfärdare, certifikat och certifikatbegäranden.

Så här konfigurerar du gemensam SSL:

  1. Installera den senaste versionen av Dispatcher för din plattform. Använd en binär Dispatcher som stöder SSL (SSL finns i filnamnet, till exempel dispatcher-apache2.4-linux-x86-64-ssl10-4.1.7.tar).
  2. Skapa eller hämta ett CA-signerat certifikat för Dispatcher och återgivningsinstansen.
  3. Skapa en nyckelbehållare som innehåller återgivningscertifikatet och konfigurera återgivningens HTTP-tjänst.
  4. Konfigurera Dispatcher webbservermodul för gemensam SSL.

Skapa eller hämta CA-signerade certifikat creating-or-obtaining-ca-signed-certificates

Skapa eller hämta de CA-signerade certifikat som autentiserar publiceringsinstansen och Dispatcher.

Skapar din certifikatutfärdare creating-your-ca

Om du fungerar som certifikatutfärdare använder du OpenSSL för att skapa certifikatutfärdaren som signerar servern och klientcertifikaten. (Du måste ha OpenSSL-biblioteken installerade.) Utför inte den här proceduren om du använder en tredjeparts certifikatutfärdare.

  1. Öppna en terminal och ändra den aktuella katalogen till katalogen som innehåller filen CA.sh, till exempel /usr/local/ssl/misc.

  2. Om du vill skapa certifikatutfärdaren anger du följande kommando och anger sedan värden när du uppmanas till det:

    code language-shell
    ./CA.sh -newca
    
    note note
    NOTE
    Flera egenskaper i filen openssl.cnf styr beteendet för skriptet CA.sh. Redigera den här filen efter behov innan du skapar din certifikatutfärdare.

Skapa certifikaten creating-the-certificates

Använd OpenSSL för att skapa de certifikatbegäranden som ska skickas till certifikatutfärdaren från tredje part eller för att signera med din certifikatutfärdare.

När du skapar ett certifikat använder OpenSSL egenskapen Gemensamt namn för att identifiera certifikatinnehavaren. För återgivningsinstansens certifikat använder du instansdatorns värdnamn som Gemensamt namn om du konfigurerar Dispatcher att acceptera certifikatet. Gör bara den här proceduren om den matchar värdnamnet för Publishing-instansen. Se egenskapen DispatcherCheckPeerCN.

  1. Öppna en terminal och ändra den aktuella katalogen till den katalog som innehåller CH.sh-filen för dina OpenSSL-bibliotek.

  2. Ange följande kommando och ange värden när du uppmanas till det. Om det behövs använder du värdnamnet för publiceringsinstansen som Gemensamt namn. Värdnamnet är ett DNS-matchningsbart namn för återgivningens IP-adress:

    code language-shell
    ./CA.sh -newreq
    

    Om du använder en tredjepartscertifikatutfärdare skickar du filen newreq.pem till certifikatutfärdaren för signering. Om du agerar som certifikatutfärdare fortsätter du till steg 3.

  3. Om du vill signera certifikatet med din certifikatutfärdares certifikat anger du följande kommando:

    code language-shell
    ./CA.sh -sign
    

    Två filer med namnen newcert.pem och newkey.pem skapas i katalogen som innehåller dina CA-hanteringsfiler. Dessa två filer är det offentliga certifikatet och den privata nyckeln för återgivningsdatorn.

  4. Byt namn på newcert.pem till rendercert.pem och byt namn på newkey.pem till renderkey.pem.

  5. Upprepa steg 2 och 3 för att skapa ett certifikat och en offentlig nyckel för Dispatcher-modulen. Se till att du använder ett gemensamt namn som är specifikt för Dispatcher-instansen.

  6. Byt namn på newcert.pem till dispcert.pem och byt namn på newkey.pem till dispkey.pem.

Konfigurera SSL på återgivningsdatorn configuring-ssl-on-the-render-computer

Konfigurera SSL på återgivningsinstansen med hjälp av filerna rendercert.pem och renderkey.pem.

Konvertera återgivningscertifikatet till JKS-format (Java™ KeyStore) converting-the-render-certificate-to-jks-format

Använd följande kommando för att konvertera återgivningscertifikatet, som är en PEM-fil, till en PKCS#12-fil. Inkludera även certifikatet för den certifikatutfärdare som signerade återgivningscertifikatet:

  1. I ett terminalfönster ändrar du den aktuella katalogen till platsen för återgivningscertifikatet och den privata nyckeln.

  2. Om du vill konvertera återgivningscertifikatet, som är en PEM-fil, till en PKCS#12-fil, anger du följande kommando. Inkludera även certifikatet för den certifikatutfärdare som signerade återgivningscertifikatet:

    code language-shell
    openssl pkcs12 -export -in rendercert.pem -inkey renderkey.pem  -certfile demoCA/cacert.pem -out rendercert.p12
    
  3. Om du vill konvertera PKCS#12-fil till Java™ KeyStore-format (JKS) anger du följande kommando:

    code language-shell
    keytool -importkeystore -srckeystore servercert.p12 -srcstoretype pkcs12 -destkeystore render.keystore
    
  4. Java™-nyckelbehållaren skapas med ett standardalias. Ändra aliaset om du vill:

    code language-shell
    keytool -changealias -alias 1 -destalias jettyhttp -keystore render.keystore
    

Lägga till certifikatutfärdarcertifikatet i återgivningens förtroendelager adding-the-ca-cert-to-the-render-s-truststore

Om du fungerar som certifikatutfärdare importerar du ditt certifikatutfärdarcertifikat till en nyckelbehållare. Konfigurera sedan den JVM som kör återgivningsinstansen så att nyckelbehållaren är tillförlitlig.

  1. Använd en textredigerare för att öppna filen cacert.pem och ta bort all text som föregår följande rad:

    -----BEGIN CERTIFICATE-----

  2. Använd följande kommando för att importera certifikatet till en nyckelbehållare:

    code language-shell
    keytool -import -keystore cacerts.keystore -alias myca -storepass password -file cacert.pem
    
  3. Använd följande systemegenskap för att konfigurera den JVM som kör din renderingsinstans så att nyckelbehållaren är tillförlitlig:

    code language-shell
    -Djavax.net.ssl.trustStore=<location of cacerts.keystore>
    

    Om du till exempel använder skriptet crx-quickstart/bin/quickstart för att starta din publiceringsinstans kan du ändra egenskapen CQ_JVM_OPTS:

    code language-shell
    CQ_JVM_OPTS='-server -Xmx2048m -XX:MaxPermSize=512M -Djavax.net.ssl.trustStore=/usr/lib/cq6.0/publish/ssl/cacerts.keystore'
    

Konfigurera återgivningsinstansen configuring-the-render-instance

Om du vill konfigurera HTTP-tjänsten för återgivningsinstansen så att den använder SSL använder du återgivningscertifikatet med instruktionerna i avsnittet Enable SSL on the Publish Instance:

Konfigurera SSL för Dispatcher Module configuring-ssl-for-the-dispatcher-module

Om du vill konfigurera Dispatcher att använda gemensam SSL förbereder du Dispatcher-certifikatet och konfigurerar sedan webbservermodulen.

Skapa ett enhetligt Dispatcher-certifikat creating-a-unified-dispatcher-certificate

Kombinera Dispatcher-certifikatet och den okrypterade privata nyckeln till en enda PEM-fil. Använd en textredigerare eller kommandot cat för att skapa en fil som liknar följande exempel:

  1. Öppna en terminal och ändra den aktuella katalogen till platsen för filen diskey.pem.

  2. Om du vill dekryptera den privata nyckeln anger du följande kommando:

    code language-shell
    openssl rsa -in dispkey.pem -out dispkey_unencrypted.pem
    
  3. Använd en textredigerare eller kommandot cat för att kombinera den okrypterade privata nyckeln och certifikatet i en enda fil som liknar följande exempel:

    code language-xml
    -----BEGIN RSA PRIVATE KEY-----
    MIICxjBABgkqhkiG9w0B...
    ...M2HWhDn5ywJsX
    -----END RSA PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    MIIC3TCCAk...
    ...roZAs=
    -----END CERTIFICATE-----
    

Ange vilket certifikat som ska användas för Dispatcher specifying-the-certificate-to-use-for-dispatcher

Lägg till följande egenskaper i Dispatcher-modulkonfigurationen (i httpd.conf):

  • DispatcherCertificateFile: Sökvägen till den enhetliga Dispatcher-certifikatfilen som innehåller det offentliga certifikatet och den okrypterade privata nyckeln. Den här filen används när SSL-servern begär Dispatcher-klientcertifikatet.
  • DispatcherCACertificateFile: Sökvägen till certifikatutfärdarens certifikatfil. Används om SSL-servern visar en certifikatutfärdare som en rotutfärdare inte litar på.
  • DispatcherCheckPeerCN: Om värdnamnskontroll ska aktiveras ( On) eller inaktiveras ( Off) för fjärrservercertifikat.

Följande kod är en exempelkonfiguration:

<IfModule disp_apache2.c>
  DispatcherConfig conf/dispatcher.any
  DispatcherLog    logs/dispatcher.log
  DispatcherLogLevel 3
  DispatcherNoServerHeader 0
  DispatcherDeclineRoot 0
  DispatcherUseProcessedURL 0
  DispatcherPassError 0
  DispatcherCertificateFile disp_unified.pem
  DispatcherCACertificateFile cacert.pem
  DispatcherCheckPeerCN On
</IfModule>
recommendation-more-help
ce382601-480f-4a99-8be7-73178d4b6ef5