SSL Accelerator (ou SSL Terminator) élimine le chiffrement HTTPS au niveau du serveur Web ou à un niveau inférieur dans une configuration multiniveau. Lorsque vous utilisez SSL Accelerator avec HCL Commerce, vous pouvez utiliser l'option SSL Accelerator afin de configurer HCL Commerce pour une réception correcte des demandes qui nécessitent des réacheminements.
Procédure
-
Ouvrez le fichier de configuration HCL Commerce.
-
Localisez la section du module Web pour lequel vous activez un SSL Accelerator.
Chaque module Web dans HCL Commerce comporte une section de configuration. Par exemple, le module Web Stores :
<Module contextPath="/webapp/wcs/stores"
fileServletEnabled="false"
name="Stores"
urlMappingPath="/servlet"
webAlias="/wcsstore">
<InitParameters adapters="XML/HTTP,
BrowserAdapter"
contextSetName="Store"
handleDoubleClick="true" />
</Module>
-
Ajoutez les attributs suivants dans l'élément InitParameters :
Par exemple, pour utiliser les ports par défaut que HCL Commerce configure pour le module Web Stores à l'aide d'un SSL Accelerator, configurez HCL Commerce en suivant l'exemple ci-dessous :
<Module contextPath="/webapp/wcs/stores"
fileServletEnabled="false"
name="Stores"
urlMappingPath="/servlet"
webAlias="/wcsstore">
<InitParameters adapters="XML/HTTP, BrowserAdapter"
contextSetName="Store"
handleDoubleClick="true"
SSLAcceleratorOption="Enabled"
inSSLPort="443"
inNonSSLPort="80"
outSSLPort="443"
outNonSSLPort="80" />
</Module>
où :
- SSLAcceleratorOption
- Paramétrez la valeur sur "Enabled" pour indiquer qu'un SSL Accelerator est utilisé pour ce module Web.
- inSSLPort
- Le port configuré pour HCL Commerce afin de recevoir les données SSL. HCL Commerce traite toutes les données reçues sur ce port comme des données SSL, même si le schéma indique
http. Le port par défaut est le port 443.
- inNonSSLPort
- Le port configuré pour HCL Commerce afin de recevoir les données non SSL. HCL Commerce traite toutes les données reçues sur ce port comme des données non SSL. Le port par défaut est le port 80.
- outSSLPort
- Port utilisé par HCL Commerce pour le réacheminement de données SSL. Le port par défaut est le port 443.
- outNonSSLPort
- Port utilisé par HCL Commerce pour le réacheminement de données non SSL. Le port par défaut est le port 80.
- Mettez à jour votre Transaction server Docker container (ts-app).
- Copiez la version modifiée de votre fichier de configuration HCL Commerce (wc-server.xml) pour remplacer celle de votre image Docker ts-app.
Cela se fait dans le fichier Docker pour ts-app. L'emplacement de ce fichier de configuration à l'intérieur de ts-app est /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/wc-server.xml.
- Générez le nouveau Transaction server Docker container (ts-app).
- Mettez à jour votre Web server Docker container (ts-web).
- Désactivez SSL pour les ports qui n'ont plus besoin de SSL. Modifiez le fichier de configuration Web server Docker containerIBM HTTP Server.
L'emplacement de ce fichier de configuration à l'intérieur de ts-web est /SETUP/config/httpd.conf.
Par exemple, si vous utilisez un SSL Accelerator pour le module Web Stores, désactivez SSL pour le port 443. Dans le fichier de configuration
IBM HTTP Server, supprimez les directives suivantes de
host_name:443 VirtualHost :
SSLEnable
SSLClientAuth 0
- Mettez à jour le fichier de configuration Web server Docker container SETUP/config/plugin-cfg.xml.
Modifiez l'attribut AppServerPortPreference, en remplaçant HostHeader par WebserverPort.
- Générez le nouveau Web server Docker container (ts-web).
- Facultatif :
Si votre site utilise un modèle de magasin type, modifiez votre fichier de configuration d'environnement de magasin afin de créer les chemins absolus adéquats pour les liens Ajax.
-
Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
-
Accédez au répertoire suivant :
Magasin type Aurora : WC_eardir/Stores.war/storedir/Common/EnvironmentSetup.jspf
workspace_dir/Stores/WebContent/storedir/include/JSTLEnvironmentSetup.jspf
-
Ouvrez le fichier d'installation de l'environnement de magasin pour l'éditer.
-
Recherchez le fragment de code suivant mis en commentaire et supprimez les caractères de mise en commentaire dans le code :
<%
// Add support for possible SSL Accelerator port setup in WC
config file.
// There could be a setup for using different ports for SSL and
nonSSL
// which are not 443 and 80 respectively.
// Uncomment the code below if using SSL Accelerator and want to
read the values from the configuration file.
// Reading from config file can have a negative effect on
performance. A better approach is to just enter the
// port values in this file directly by putting value in
inSSLAcceleratorPort and inNonSSLAcceleratorPort
// variables below.
//WebModuleConfig storeWebModule =
ConfigProperties.singleton().getWebModule(WcsApp.storeWebModuleName);
int inSSLAcceleratorPort = 443;
//if (storeWebModule.getInSSLPort() != null) {
// inSSLAcceleratorPort = new
Integer(storeWebModule.getInSSLPort()).intValue();
//}
int inNonSSLAcceleratorPort = 80;
//if (storeWebModule.getInNonSSLPort() != null) {
// inNonSSLAcceleratorPort = new
Integer(storeWebModule.getInNonSSLPort()).intValue();
//}
request.setAttribute("inSSLAcceleratorPort", inSSLAcceleratorPort);
request.setAttribute("inNonSSLAcceleratorPort",
inNonSSLAcceleratorPort);
%>
-
Enregistrez et fermez le fichier.
- Facultatif :
Supprimez toutes les pages compilées de votre vitrine. Vos fichiers JSP de magasin doivent être recompilés pour que vos modifications s'affichent lorsqu'un client visite votre magasin.
-
Accédez au répertoire suivant :

WCDE_installdir/wasprofile/temp/localhost/server1/WC/Stores.war

WAS_installdir/profiles/demo/temp/WC_demo_node/server1/WC_demo/Stores.war
-
Supprimez tout votre dossier storedir, par exemple Aurora, ainsi que son contenu de ce répertoire.
Que faire ensuite
Après avoir activé l'option SSL Accelerator, vous devez configurer les demandes reçues sur le port 443 et vous assurer que l'en-tête Host HTTP est mis à jour de façon à inclure le numéro de port. Par exemple, Host: myhost:443.