Använd SSL-anslutningar mellan Dispatcher och återgivningsdatorn:
Å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.
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
Om du vill konfigurera Dispatcher att ansluta till AEM eller CQ via SSL, kan du dispatcher.any filen kräver följande egenskaper:
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.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 anslutningarna mellan Dispatcher och återgivningsdatorn (vanligtvis en AEM- eller CQ-publiceringsinstans) om du vill använda ömsesidig SSL:
Om du vill konfigurera gemensam SSL måste du ha certifikat som är signerade av 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:
Så här konfigurerar du gemensam SSL:
Skapa eller hämta de CA-signerade certifikat som autentiserar publiceringsinstansen och Dispatcher.
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.
Öppna en terminal och ändra den aktuella katalogen till katalogen som innehåller CA.sh
fil, som /usr/local/ssl/misc
.
Om du vill skapa certifikatutfärdaren anger du följande kommando och anger sedan värden när du uppmanas till det:
./CA.sh -newca
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.
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, och bara om det matchar värdnamnet för Publish-instansen. (Se DispatcherCheckPeerCN egenskap.)
Öppna en terminal och ändra den aktuella katalogen till den katalog som innehåller CH.sh-filen för dina OpenSSL-bibliotek.
Ange följande kommando och ange värden när du uppmanas till det. Använd vid behov värdnamnet för publiceringsinstansen som gemensamt namn. Värdnamnet är DNS-matchningsbart namn för återgivningens IP-adress:
./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.
Om du vill signera certifikatet med din certifikatutfärdares certifikat anger du följande kommando:
./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.
Byt namn newcert.pem
till rendercert.pem
och byta namn newkey.pem
till renderkey.pem
.
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.
Byt namn newcert.pem
till dispcert.pem
och byta namn newkey.pem
till dispkey.pem
.
Konfigurera SSL på återgivningsinstansen med rendercert.pem
och renderkey.pem
filer.
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:
I ett terminalfönster ändrar du den aktuella katalogen till platsen för återgivningscertifikatet och den privata nyckeln.
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:
openssl pkcs12 -export -in rendercert.pem -inkey renderkey.pem -certfile demoCA/cacert.pem -out rendercert.p12
Om du vill konvertera PKCS#12-fil till Java™ KeyStore-format (JKS) anger du följande kommando:
keytool -importkeystore -srckeystore servercert.p12 -srcstoretype pkcs12 -destkeystore render.keystore
Java™-nyckelbehållaren skapas med ett standardalias. Ändra aliaset om du vill:
keytool -changealias -alias 1 -destalias jettyhttp -keystore render.keystore
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.
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-----
Använd följande kommando för att importera certifikatet till en nyckelbehållare:
keytool -import -keystore cacerts.keystore -alias myca -storepass password -file cacert.pem
Använd följande systemegenskap för att konfigurera den JVM som kör din renderingsinstans så att nyckelbehållaren är tillförlitlig:
-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:
CQ_JVM_OPTS='-server -Xmx2048m -XX:MaxPermSize=512M -Djavax.net.ssl.trustStore=/usr/lib/cq6.0/publish/ssl/cacerts.keystore'
Om du vill konfigurera HTTP-tjänsten för återgivningsinstansen så att den använder SSL använder du återgivningscertifikatet med instruktionerna i Aktivera SSL på publiceringsinstansen avsnitt:
Om du vill konfigurera Dispatcher så att ömsesidig SSL används, förbereder du Dispatcher-certifikatet och konfigurerar sedan webbservermodulen.
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:
Öppna en terminal och ändra den aktuella katalogen till platsen för filen diskey.pem.
Om du vill dekryptera den privata nyckeln anger du följande kommando:
openssl rsa -in dispkey.pem -out dispkey_unencrypted.pem
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:
-----BEGIN RSA PRIVATE KEY-----
MIICxjBABgkqhkiG9w0B...
...M2HWhDn5ywJsX
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIC3TCCAk...
...roZAs=
-----END CERTIFICATE-----
Lägg till följande egenskaper i Dispatcher-modulens konfiguration (in httpd.conf
):
DispatcherCertificateFile
: Sökvägen till den enhetliga certifikatfilen för 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, som används om SSL-servern visar en certifikatutfärdare som inte är betrodd av en rotutfärdare.DispatcherCheckPeerCN
: Om du vill aktivera ( 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>