LogoDev portal

ALB and NLB Config

A detailed overview of the Public ALB's listeners, routing rules, and target groups.

Application Load Balancer (ALB) and Network Load Balancer (NLB) Configuration

This document provides a comprehensive overview of the public-facing Application Load Balancer (ALB) configuration. It covers the listeners that accept incoming traffic, the rules that route requests based on specific conditions, and the target groups that are the final destination for that traffic.


1. ALB Listeners

Listeners are responsible for checking for connection requests to the ALB, based on the configured port and protocol.

Primary Listener: HTTPS Port 443

This is the main listener that handles the majority of secure web traffic. It uses a set of rules based on the Host Header (domain name) and URL Path to route requests to various target groups. The rules are processed in order of priority (lower numbers have higher priority).

PriorityNameConditions (If)Action (Then)
1webappHost header is webapp.solara.ioForward to dashboard-tg.
5backend-wsHost header is app-api.solara.io AND Path is /ws/*Forward to backend-socketio-tg.
10backend-dashboardHost header is app-api.solara.ioForward to backend-clientwebhook-tg.
15backend-webHost header is api.solara.ioForward to backend-web-tg.
20wcs-frontendHost header is wcs.solara.ioForward to wcs-tg.
25meilisearchHost header is meilisearch.solara.ioForward to meilisearch.
30marketplaceHost header is marketplace.solara.ioForward to marketplace-tg.
40app-gateway-socketioHost header is app-gateway.solara.io AND Path is /chat/ai/ws/*Forward to app-gateway-socketio-tg.
Note: Target group stickiness is enabled for 86400 seconds.
45app-gatewayHost header is app-gateway.solara.ioForward to app-gateway-tg.
55chat-widgetHost header is chat-widget.solara.ioForward to chat-widget-tg.
Default (Last)DefaultIf no other rules matchReturn a fixed response: HTTP 503 (Service Unavailable).

Other Listeners

In addition to port 443, the ALB listens on several other ports with predefined behaviors.

HTTP Port 80

  • Action: All traffic arriving on port 80 (HTTP) is permanently redirected (HTTP 301) to https://<host>:443. This enforces that all connections are encrypted over HTTPS.

Other Dedicated HTTPS Ports

These listeners serve specialized backend services and all share a common security policy and SSL certificate.

  • Common Security Policy: ELBSecurityPolicy-TLS13-1-2-2021-06
  • Default SSL/TLS Certificate: *.solara.io (issued by AWS ACM)
Listener Port (HTTPS)Action (Forwards to Target Group)
4000backend-web-tg
5000backend-clientwebhook-tg
8000backend-admin-tg
8888backend-socketio-tg
9000backend-dashboard-tg
9981backend-private-tg
11111backend-public-tg

2. Target Groups

Target Groups (TGs) are used to route requests to one or more registered destinations, such as EC2 instances. All TGs in this configuration share a common base setup.

Common Configuration for All Target Groups

  • Target type: Instance
  • IP address type: IPv4
  • Health check path: /
  • Healthy threshold: 5 consecutive successes
  • Unhealthy threshold: 2 consecutive failures
  • Success codes: 200-499

Important Note: All target groups have two registered instances: onserver-1 and onserver-2.

Detailed Target Group Configurations

The table below lists the specific port and protocol configurations for each individual Target Group.

Target Group NameCategoryTG PortProtocolHealth Check PortRegistered Targets Port
app-gateway-socketio-tgapp-gateway9001HTTP90019001
app-gateway-tgapp-gateway9001HTTP90019001
backend-admin-tgBackend8000HTTP80008000
backend-clientwebhook-tgBackend5000HTTP50005000
backend-dashboard-tgBackend9000HTTP90009000
backend-private-tgBackend9981HTTP99819981
backend-public-tgBackend11111HTTP1111111111
backend-socketio-tgBackend8888HTTP88888888
backend-web-tgBackend4000HTTP40004000
chat-widget-tgOthers3050HTTP30503050
dashboard-tgOthers80HTTP8080
marketplace-tgOthers9982HTTP99829982
wcs-tgOthers3000HTTP30003000