I'm deploying a web on an Nginx server. Nginx is configured with both http and https versions, like this:
upstream stream {
server unix:///home/project/project.sock;
}
server {
listen 443;
ssl on;
ssl_certificate certificate.crt;
ssl_certificate_key server.key;
server_name server.com;
server_name *.server.com;
client_max_body_size 0;
charset utf-8;
# Main
location / {
uwsgi_pass stream;
# Parametros de uWSGI
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_ADDR $server_addr;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
uwsgi_param UWSGI_SCHEME https;
}
}
server {
listen 80;
server_name server.com;
server_name *.server.com;
client_max_body_size 0;
charset utf-8;
# Main
location / {
uwsgi_pass stream;
# Parametros de uWSGI
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_ADDR $server_addr;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
uwsgi_param UWSGI_SCHEME http;
}
}
All works correctly, but the browser is always selecting the HTTP version when you type server.com, and I want it to select the HTTPS version by default.
How can I do it?