Nginx isn't working to redirect non-www to www if I'm on https:
https://domain.com to https://www.domain.com
My curent setup in .conf is:
server { listen 80; server_name www.domain.com domain.com; return 301 https://www.domain.com$request_uri; } server { listen 443; server_name domain.com; return 301 https://www.domain.com$request_uri; } server { listen IP_ADDRESS:443 ssl; server_name www.domain.com; ... } http://domain.com to https://www.domain.com and http://www.domain to https://www.domain.com works, but non-www to www on https isn't working.
If I added the IP_ADDRESS on the second server block, I get an error in Chrome (SSL error) and both (www and non-www) stop working.
UPDATE:
Thanks to Steffen (below answer), I updated the self-signed certificate to be *.domain.com and not domain.com.
The .conf file was updated under this format:
ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; server { listen 80; server_name www.domain.com domain.com; return 301 https://www.domain.com$request_uri; } server { listen 443 ssl; server_name domain.com; return 301 https://www.domain.com$request_uri; } server { listen 443 ssl; server_name www.domain.com; ... }