Using Docker Swarm API remotely but TLS handshake error occurs in AWS

I am using Docker on AWS personal account. I added the tcp header to listen on the port 2375 as well.
Docker API works fine but have issues with Docker Swarm.

Expected behavior

/v1.44/swarm/join is the API that when succeeded should give " 200 ok " status
link to this api : Docker Engine API v1.44 Reference

Actual behavior

{
“message”: “rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: tls: first record does not look like a TLS handshake"”
}

Additional Information

I did add the payload as mentioned in docs and changed the IP address respectively.
{
“ListenAddr”: “0.0.0.0:2377”,
“AdvertiseAddr”: “MY-SERVER-PRIVATE-IP:2377”,
“RemoteAddrs”: [
“MANAGER-IP:2377”
],
“JoinToken”: “THE TOKEN OFC OF WORKER”
}

Did try to interchange the advertise addr and remote addr but still same.

I did allow almost all the ports needed for docker in security group as well. P.S. im using all the API calls on Postman.

Steps to reproduce the behavior

  1. create 2 server with Amazon linux , install docker , set the -H tcp://0.0.0.0:2375 in docker.service
  2. use the username and password of dockerhub in POSTMAN authorisation tab
  3. use the swarm init API and see for yourself. I maybe missing a very basic piece. do let me know.