I know this must have been answered already, but I have been searching for quite a while, and cannot find the answer. Just not looking in the right place I guess, maybe someone can help me out.
Basically I am running phpmyadmin through SSL on a non-standard port, in this example 12345.
Now I have https://example.com:12345 set up ok, it works and everything. Now I want to add the ability to just type http://example.com:12345 and be redirected to the https://.
I asumed the following would work, but it does not.
server { listen 12345; server_name php.myadmin.com; if ( $scheme = http ) { rewrite ^ https://php.myadmin.com:12345$request_uri? redirect; } root /var/www/php; ssl on; [....] } This gives me a 400 bad request.
Now before posting an answer make sure to have a good look at the redirect form. Check the pitfall in the link bellow.
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#taxing-rewrites
Further, it would be nice if this can even be done without an if-statement:
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#using-if