Based on your requirements I believe you will benefit from this solution of placing an NLB in front of an ALB - https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/
It wouldn't be possible to offload SSL on the NLB and also have HTTP to HTTPS redirection on the webserver as the webserver would see HTTP traffic in this case and cause an infinite loop. Normally we handle this by redirecting based on the X-Forwarded-Proto header but that is unavailable on NLB.
The other option is to have an NLB with TCP:80 and TLS:443 listeners forwarding to TCP:80 and TLS:443 target groups respectively and handle SSL and redirection on the instance. You can use a self-signed certificate on the instance and and ACM certificate (which the client sees) on the NLB.
NLB works at layer 4 (TCP/TLS) and does not see Layer 7 (HTTP) data so sticky sessions would not work. New TCP connections from the client will be load balanced based on the NLBs routing algorithm.
I was using the solution suggested below but with a tweaks like adding X-Forwarded-Proto header and handling redirects on webserver.
However, now I tried the second option of having an NLB with TCP:80 and TLS:443 listeners forwarding to TCP:80 and TLS:443 target groups pointing to a internal ALB's ip and using the lambda function to update the NLB -> ALB bindings. This works like a charm and now SSL offloading is taken care at the ALB.
Adding a static IP to ELBasked 3 years ago
ELB A record returns an timing out ip addressasked 3 years ago
How to register a domain name with the least possible cost and without having EC2?Accepted Answerasked 6 months ago
Setting up Route 53 to point to Lightsail static IPasked 3 years ago
DNS A, CNAME records and ELBasked 2 months ago
Question regarding distribute ELB angular website to other region (Asia)asked 2 years ago
Deploying a static website on S3 but using domain name from 123Regasked 3 months ago
How do you route a root domain to an application balancer via a static IP address?asked 7 months ago
Is it possible to map an S3 static website to a public static IP address?Accepted Answerasked 2 years ago
S3 Static Website RoutingRules when using Cloudfront and a domain nameasked 3 years ago