Server 1 redirects, Server 2 does not

This problem may have been around before I updated to nginx version
1.9.4
but I’m not sure.

I have one VPS with two IP addresses. Server 1 redirects port 80 www and
non-www to port 443 requests along with www requests on port 443 to the
non-www web site. iow, http://(www.)site1.com/ and
https://www.site1.com/
properly get 301 redirected to https:site1.com/

Site 2 does not do this and only redirects http:// requests to the
equivalent https:// even though both server directives contain identical
directives though different ssl certs.

server {
listen xxx.xxx.21.234:80;
server_name www.site1.com site1.com;
return 301 https://site1.com$request_uri;
}

server {
    listen       xxx.xxx.21.234:443 ssl http2;
    server_name  site1.com;

    http2_keepalive_timeout 64;
    keepalive_timeout 64;

This is identical for server 2 including the rest of the directives in
the
server block. My one question is whether the ssl cert for server2 may
not be
properly set up for the www name but I’m not sure.

Does something immediately jump out as the problem or where should I
look
further? Other than the redirection, everything on server2 works as it
should.

Posted at Nginx Forum:

Note that I upgraded the server so I could turn httpv2 on.

Posted at Nginx Forum:

Doing a curl -I -L http://www.site1.com/ returns this:

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 21 Aug 2015 03:04:50 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://site1.com/

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 21 Aug 2015 03:04:50 GMT
Content-Type: text/html; charset=utf-8

Now I’m really confused. Using Chrome on my desktop and my phone, the
address bar shows https://www.site1.com

Posted at Nginx Forum: