Rancher should not redirect http to https when I use extenal Nginx LB

rancher should not redirect http to https when I use extenal Nginx LB.

request:

curl -v 127.0.0.1:80 \
  -H"Host: rancher2.domain.com" \
  -H "X-Forwarded-Proto: https"  \
  -H"X-Forwarded-Port: 443" \
  -H"X-Forwarded-For: 127.0.0.1" 

response:

*   Trying 127.0.0.1:80...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: rancher2.domain.com
> User-Agent: curl/7.68.0
> Accept: */*
> X-Forwarded-Proto: https
> X-Forwarded-Port: 443
> X-Forwarded-For: 127.0.0.1
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Content-Length: 49
< Content-Type: text/html; charset=utf-8
< Date: Mon, 21 Jun 2021 01:55:58 GMT
< Location: https://rancher2.domain.com/
< 
<a href="https://rancher2.domain.com/">Found</a>.

* Connection #0 to host 127.0.0.1 left intact

VERSION:

rancher 2.5.8 on k3s v1.21.1+k3s1 (75dba57f)

HELM INSTALL CMD:

helm install rancher rancher-stable/rancher  \
  --namespace cattle-system  \
  --set hostname=rancher.domain.com \
  --set tls=external