How to configure Joget for Ingress with Nginx in Kubernetes

Confluence User - 16 Aug, 2023

A few weeks ago, I got Joget DX8 working on AWS EKS, but only by using port forwarding to use it.

Our standard is to use ingress rather than load balancer or nodeport.

The "Joget on Kubernetes" instructions do not help with getting Ingress to work. Accessing through port forwarding works fine but accessing through the ingress only works for initial database setup, then times out trying to get to the home page.

I tried enabling underscores in headers per https://gitlab.com/asksven-public/joget-on-kubernetes and Joget on Azure Kubernetes Service but that seems to be only when trying to use HTTPS (TLS). I believe I need to get basic HTTP access to work on 8080 before I deal with HTTPS and figure out things like SSL termination in NGinx using 8080 or in Joget using 9080.

My problem is similar to what had to happen to make ingress with nginx work in Azure's hosted K8s solution. Does anyone have any insights as to what might be missing? Nginx works for 1 other ingresses we are exposing, just not for Joget, so I doubt it is an nginx problem (but I am open to trying anything at this point).


Joget log (sanitized)

ERROR 15 Aug 2023 18:24:52 org.joget.apps.app.service.JsonApiUtil - org.apache.http.conn.HttpHostConnectException: Connect to dev-joget.XXX.net:443 [dev-joget.amz-link-labs.net/100.67.119.128, dev-joget.XXX.net/100.67.68.84] failed: Connection timed out (Connection timed out)

org.apache.http.conn.HttpHostConnectException: Connect to dev-joget.XXX.net:443 [dev-joget.XXX.net/100.67.119.128, dev-joget.amz-link-labs.net/100.67.68.84] failed: Connection timed out (Connection timed out)


nginx log (sanitized)

2023/08/15 18:48:50 [error] 589#589: *307792 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 100.67.31.149, server: dev-joget.XXX.net, request: "GET /jw/web/userview/appcenter/home/_/home HTTP/2.0", upstream: "http://100.67.1.182:9080/jw/web/userview/appcenter/home/_/home", host: "dev-joget.XXX.net", referrer: "https://dev-joget.XXX.net/jw/home/"


installation;jogetdx;security;administration;server

2


16 Aug, 2023
confluenceUser
confluenceUser

The error messages you're encountering indicate that there are connectivity issues between the client (possibly a web browser or an application) and the server (hosted at dev-joget.XXX.net). 

Possible causes and solutions:

  1. Network Issues: It seems there might be network connectivity issues between the client and the server. This could be due to firewall rules, network congestion, DNS resolution problems, or other network-related issues. Check if you can ping the server's IP address (100.67.119.128 or 100.67.68.84) from the client to ensure basic network connectivity.
  2. Server Overload: The upstream server (100.67.1.182) might be overloaded or experiencing high traffic, resulting in delayed responses. Check the server's resource utilization (CPU, memory, etc.) and ensure that it has sufficient capacity to handle incoming requests.
  3. Firewall or Security Settings: Firewalls, security groups, or access control lists could be blocking the incoming requests. Make sure that the necessary ports (443 for HTTPS) are open and accessible.
  4. Proxy Configuration: If there's a proxy server or load balancer in front of the application server, ensure that it's properly configured and forwarding requests to the correct backend server.
  5. Server Software Configuration: Review the configuration of the Java application server and Nginx to ensure they are set up correctly. Check for any misconfigurations that might be causing the timeouts.
  6. DNS Resolution: Ensure that DNS resolution is working properly for the domain dev-joget.XXX.net. Incorrect DNS settings could lead to connection timeouts.
  7. SSL/TLS Issues: If HTTPS is being used, there could be SSL/TLS certificate issues that are causing the connection to fail. Ensure that the server's SSL certificate is valid and properly configured.
  8. Server Logs: Check the logs of both the Java application server and Nginx for more detailed error messages. These logs might provide more context about the nature of the issue.

Diagnosing and resolving network and server issues like these often involves a process of elimination. You might need to investigate each possible cause and solution step by step until you identify the root cause of the connectivity problem.

16 Aug, 2023
confluenceUser
confluenceUser

Thanks for the attempt, Matthew. The fact Joget works fine when using port forwarding instead of ingress eliminates almost all the items in your list. I checked the others and they are not the problem. I'll keep looking.

RELATED QUESTIONS

Your answer


To answer a question you'll need an account.

Print