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 ansluts till AEM use-ssl-when-dispatcher-connects-to-aem

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

Innan du konfigurerar Dispatcher måste du konfigurera AEM eller CQ så att SSL används:

När Dispatcher tar emot en HTTPS-begäran inkluderar Dispatcher följande huvuden 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

Om du vill konfigurera Dispatcher att ansluta till AEM eller CQ via SSL, kan du dispatcher.any filen kräver följande egenskaper:

  • En virtuell värd som hanterar HTTPS-begäranden.
  • The renders -avsnittet 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.
  • The renders objektet innehåller en egenskap med namnet secure värde 1.

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

Följande exempel dispatcher.any filen visar 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 ömsesidig 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 Dispatcher-binär som har stöd för SSL (SSL) 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 webbservermodulen Dispatcher 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 agerar som certifikatutfärdare ska du använda 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 CA.sh fil, som /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 openssl.cnf -filen 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 DispatcherCheckPeerCN -egenskap.

  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 namngivna newcert.pem och newkey.pem skapas i den katalog som innehåller dina CA-hanteringsfiler. Dessa två filer är det offentliga certifikatet och den privata nyckeln för återgivningsdatorn.

  4. Byt namn newcert.pem till rendercert.pemoch byta namn 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 newcert.pem till dispcert.pemoch byta namn newkey.pem till dispkey.pem.

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

Konfigurera SSL på återgivningsinstansen med rendercert.pem och renderkey.pem filer.

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 Enable SSL on the Publish Instance avsnitt:

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

Om du vill konfigurera Dispatcher så att ömsesidig SSL används, förbereder du Dispatcher-certifikatet och konfigurerar sedan webbservermodulen.

Skapa ett enhetligt utskickscertifikat creating-a-unified-dispatcher-certificate

Kombinera Dispatcher-certifikatet och den okrypterade privata nyckeln till en enda PEM-fil. Använda en textredigerare eller 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ända en textredigerare eller cat om du vill 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-modulens konfiguration (in httpd.conf):

  • DispatcherCertificateFile: Sökvägen till den enhetliga certifikatfilen Dispatcher, 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 aktivering ska ske ( On) eller inaktivera ( Off) värdnamnskontroll 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