Have full URL redirect to SSL (not just $server_name and $request_uri)

biot023 nginx-forum at nginx.us
Wed Nov 19 12:16:05 UTC 2014

Hi -- we currently have a redirect rule in a location on our server to
redirect all non-SSL traffic to SSL, like so:

location / {
  return 301 https://$server_name$request_uri;

This works for almost all cases, but there is an edge case that is broken by
We have a custom subdomain functionality that our users use to give them
more personalised-looking URLs, so they can use <username>.oursite.com
So username.oursite.com should redirect to https://username.oursite.com
And otheruser.oursite.com should redirect to https://otheruser.oursite.com

Could anyone advise me on what redirect rule I should use to achieve what
our current rule does (redirects almost all traffic to HTTPS), and also
redirects the special case.

Thanks very much for any and all assistance,

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,254914,254914#msg-254914

More information about the nginx mailing list