nginx

Enable Basic Auth for some (or all) endpoints

See the docs

Redirect all http traffic to https

Add following to the server block of the nginx configuration.

return 301 https://$server_name$request_uri;

In case you want only a few endpoints to redirect to https, rather than all the
traffic, you need to create two server blocks. One for http and other for
https.

location block under each determines which endpoint redirects to https.

See this SO answer