0

I want to redirect https://*.example.com to https://www.example.com (* being any subdomain).

My Nginx configuration (unrelated lines removed):

server {
    server_name www.example.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/vpsuser/example/example;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

    listen 443 http2 ssl; # managed by Certbot
    listen [::]:443 http2 ssl;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;
    server_name example.com *.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    return 301 https://www.example.com$request_uri;
}

When I go to https://s.example.com no redirection happens and browser displays "this connections isn't secure". My code for same logic for http works without any problem.

And when I enter https://example.com it redirects to https://www.example.com successfully.

I tried return 404 to see if it is really done by the same code block and I got 404 page. So, why it redirects https://example.com but not https://*.example.com? How can I solve it?

I am using Django. Just saying if there can be any relation.

Ulvi
  • 965
  • 12
  • 31

0 Answers0