Để redirect http sang https trên Google cloud Load balancer tạm thời mình thấy có 2 cách:
Thứ nhất là redirect ở phía backend server, detect http_x_forwarded_proto header để thực hiện. Ví dụ như bài viết sau: https://hoctapit.com/redirect-http-to-https-behind-google-cloud-load-balancer-nginx-backend/
Cách thứ 2 “chuẩn chỉ hơn”, đó là dùng 2 LB, 1 cái dành cho http, 1 cái cho https, frontend chung 1 IP public.
Cụ thể: tạo 1 LB HTTP(S) với cấu hình như sau:
- Mục backend configuration không config gì cả
- Host and Path rules như hình:
- Frontend configuration thì config http port 80, tạo 1 Static IP.
Tạo tiếp 1 LB HTTP(S) nữa, config backend như bình thường, phần Frontend tạo duy nhất 1 cái https port 443, với IP dùng chung với IP static đã tạo ở LB phía trên.
Như vậy mọi request http sẽ được return 301 về https.