Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page describes what all you need to do if you are using Nginx Ingress Controller as a front-end for Webapp Gateway.

...

  1. Run the following command to add the Nginx Ingress Controller repository. 

    Code Block
    languagecss
    themeMidnight
    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx


  2. Run the following command to create a namespace

    Code Block
    languagecss
    themeMidnight
    kubectl create namespace <ingress>

    Where,

    ingress is the name of the namespace.

  3. Run the command as shown in the example below to install the Nginx Ingress Controller helm 

    Code Block
    languagecss
    themeMidnight
    helm install <my-ingress-nginx> <ingress-nginx/ingress-nginx> -n <namespace>

    Where,
    my-ingress-nginx is the name of the Nginx Ingress release.
    ingress-nginx/ingress-nginx is the repository path.

Configuring SSL in

...

Ingress

An important prerequisites for a secure communication between the web browser (end user) and the web server is to use Secure Sockets Layer (SSL) certificate. Adeptia Connect microservices also adheres to this requirement. To achieve this, after you've deployed Adeptia Connect, you need to configure SSL in the Kubernetes Ingress Controller. If you're using any Kubernetes ingress controller as a front-end for communication, you need to configure SSL through Kubernetes ingress object. 

...

After you've configured ingress, you've to follow the steps below in the same sequence.

Anchor
Exporting the public key
Exporting the public key
Exporting the public key of Ingress controller 

...

  1. Run the following Kubectl command to copy the certificate to the PVC or shared storage volume for the Webapp Gateway pod.

    Code Block
    languagecss
    themeMidnight
    Kubectl --namespace <namepace_name> cp <local_path_for_SSL_certificate> <pod_name>:shared/truststore/<SSL_certificate_name> 


  2. Navigate to the Microservice pod (Eg. Webrunner) by running the following command.

    Code Block
    languagecss
    themeMidnight
    Kubectl --namespace <namespace_name> exec -it <pod_name> -- sh 


  3. Run the following Keytool command to import the certificate.

    Code Block
    languagecss
    themeMidnight
    keytool -import -trustcacerts -file <Path_of_SSL_Certificate> -alias <alias_name> -keystore <Path of cacerts file>

    Where,

              <Path_of_SSL_Certificate> is the path of SSL certificate.

              <Path of cacerts file> is the path of Truststore.

    For example,

    Code Block
    languagecss
    themeMidnight
    keytool -import -trustcacerts -file shared/truststore/ssl-certs.cer -alias adeptia -keystore shared/truststore/cacerts

    You'll be prompted to enter a password. Enter the default password changeit.

  4. Run the exit command to exit from the pod shell.
  5. Restart all the Microservices to bring the changes into effect.

...

  1. Open the ConfigMap of Nginx Ingress Controller in edit mode using the following command.

    Code Block
    languagecss
    themeMidnight
    Kubectl edit configmap <name of the Nginx Ingress Controller ConfigMap> -n <namespace in which Nginx Ingress Controller is deployed>


  2. Add the following propertyenable-underscores-in-headers, with its value as true, in the data section of the ConfigMap with its value as true as shown in the example below.
    enable-underscores-in-headers: “true”.Image Added
  3. Save the ConfigMap, and restart the Nginx Ingress Controller deployment.

...