Habilitación de la opción SSL Accelerator

SSL Accelerator (o SSL Terminator) es hardware que descifra el cifrado HTTPS a nivel de servidor web, o a un nivel previo, en una configuración de varios niveles. Cuando utilice SSL Accelerator con HCL Commerce, puede utilizar la opción SSL Accelerator para configurar HCL Commerce, de modo que reciba correctamente solicitudes que requieren redirecciones.

Procedimiento

  1. Abra el archivo de configuración de HCL Commerce.
  2. Localice la sección del módulo web que en el que habilita SSL Accelerator.

    Cada módulo web en HCL Commerce tiene una sección de configuración. Por ejemplo, el módulo web "Stores" (tiendas):

    
    <Module contextPath="/webapp/wcs/stores"
    		fileServletEnabled="false"
    		name="Stores"
    		urlMappingPath="/servlet"
    		webAlias="/wcsstore">
    	<InitParameters adapters="XML/HTTP, 
    BrowserAdapter"
    		contextSetName="Store"
    		handleDoubleClick="true" />
    </Module>
    
  3. Añada los atributos siguientes al elemento InitParameters:

    Por ejemplo, para utilizar los puertos predeterminados que HCL Commerce configura para el módulo web de tiendas (Stores) con SSL Acceletaror, configure HCL Commerce siguiendo este ejemplo:

    
    <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>
    
    Donde:
    SSLAcceleratorOption
    Establezca el valor en "Enabled" para indicar que se utiliza SSL Accelerator para el módulo web.
    inSSLPort
    El puerto que se ha configurado para que HCL Commerce reciba los datos SSL. HCL Commerce trata los datos que se reciben en este puerto como datos SSL incluso si el esquema lo indica como http. El valor predeterminado es el puerto 443.
    inNonSSLPort
    El puerto que se ha configurado para que HCL Commerce reciba los datos no SSL. HCL Commerce trata los datos que se reciben en este puerto como datos no SSL. El puerto predeterminado es el 80.
    outSSLPort
    El puerto que HCL Commerce utiliza para enviar datos SSL en una redirección. El puerto predeterminado es 443.
    outNonSSLPort
    El puerto que HCL Commerce utiliza para enviar datos no SSL en una redirección. El puerto predeterminado es el 80.
  4. Actualizar el Transaction server Docker container (ts-app)
    1. Copie la versión modificada del archivo de configuración HCL Commerce (wc-server.xml) para sustituir la que hay dentro de la imagen de Docker ts-app.
      Esto se lleva a cabo en el archivo Docker del ts-app. La ubicación de este archivo de configuración en ts-app es /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/wc-server.xml.
    2. Cree el nuevo Transaction server Docker container (ts-app).
      Para obtener más información sobre la actualización del archivo de configuración HCL Commerce, consulte HCL Commerce archivo de configuración (wc-server.xml).
  5. Actualizar el Web server Docker container (ts-web)
    1. Inhabilite el SSL para los puertos que ya no lo necesiten. Modifique el archivo de configuración de Web server Docker container IBM HTTP Server.
      La ubicación de este archivo de configuración en ts-web es /SETUP/config/httpd.conf.
      Por ejemplo, si utiliza SSL Accelerator para el módulo web de tiendas (Stores), inhabilite SSL para el puerto 443. En el archivo de configuración IBM HTTP Server, elimine las siguientes directivas de host_name:443 VirtualHost:
      SSLEnable
      SSLClientAuth 0
    2. Actualice el archivo de configuración Web server Docker container SETUP/config/plugin-cfg.xml:
      Cambie el atributo AppServerPortPreference de HostHeader a WebserverPort.
    3. Cree el nuevo Web server Docker container (ts-web).
      Para obtener más información sobre la creación de un Web server Docker container personalizado, consulte Personalización del Web server Docker container.
  6. Opcional: Si el sitio utiliza una tienda de inicio, cambie el archivo de configuración del entorno de la tienda para crear las vías de acceso adecuadas absolutas para enlaces Ajax.
    1. Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
    2. Vaya al directorio siguiente:
      • LinuxTienda de inicio Aurora WC_eardir/Stores.war/storedir/Common/EnvironmentSetup.jspf
      • HCL Commerce Developerworkspace_dir/Stores/WebContent/storedir/include/JSTLEnvironmentSetup.jspf
    3. Abra el archivo de configuración del entorno de la tienda para su edición.
    4. Localice el fragmento de código comentado siguiente y elimine los caracteres de comentario en el código:
      <%
      // 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);
      %>
    5. Guarde y cierre el archivo.
  7. Opcional: Suprima todas las páginas compiladas del escaparate. Los archivos JSP de la tienda deben recompilarse para que los cambios aparezcan cuando un comprador que visite la tienda.
    1. Vaya al directorio siguiente:
      • HCL Commerce DeveloperWCDE_installdir/wasprofile/temp/localhost/server1/WC/Stores.war
      • LinuxWAS_installdir/profiles/demo/temp/WC_demo_node/server1/WC_demo/Stores.war
    2. Suprima toda la carpeta storedir, por ejemplo, Aurora y su contenido de este directorio.

Qué hacer a continuación

Después de habilitar la opción SSL Accelerator, debe configurar las solicitudes que se reciben en el puerto 443. Asegúrese de que se actualiza la cabecera HTTP de host para que incluya el número de puerto. Por ejemplo, Host: myhost:443.