Question

Issue with non www and www redirect to www with https in Nginx

Posted October 10, 2020 50 views
Nginx

I am Trying to redirect all my urls both with www and without www to single url.
Example:
http://example.com -> https://www.example.com (Redirecting With 301 OK)
http://www.example.com -> https://www.example.com (Redirecting With 301 OK)
https://example.com -> https://example.com (Not Redirecting)
https://www.example.com -> https://www.example.com (Not Redirecting)

My Current Config Look Like

server {
    server_name www.example.com example.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/myloc/mydir;
    }

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

    listen 443 ssl; # managed by Certbot
    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 {
    if ($host = www.example.com) {
        return 301 https://www.example.com$request_uri;
    } # managed by Certbot


    if ($host = example.com) {
        return 301 https://www.example.com$request_uri;
    } # managed by Certbot


    listen 80;
    server_name www.example.com example.com;
    return 404; # managed by Certbot


}

PLease help

Submit an answer

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!