<html><head>

<style id="css_styles"> 
blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] {  list-style-position: inside;}
body { font-family: 'Segoe UI'; font-size: 12pt; }
.quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }

 </style>
</head>
<body><div>While I'm sure this is documented somewhere - I haven't found exactly what I'm looking for. Or I'm just not understanding what I've read.</div><div><br /></div><div>My understanding is simply prefixing a server name with ".", such as ".example.com", is a special wildcard that basically becomes "example.com *.example.com". My current nginx version is 1.20.2.</div><div><br /></div><div>I have a number of domains that I want to re-direct to a master name. And I want http re-directed to https. So I have:</div><div><br /></div><div>server {
</div><div>    listen 80 default_server;
</div><div>    server_name
</div><div><div id="x4e7ab0b88df043e39645d83daa5232b2"><span>        </span>.maindomain.com</div></div><div>        .example1.com</div><div>        .example2.com</div><div>        .example3.com</div><div><br />    location / {<br />        return 301 <a href="https://amfes.com$request_uri;">https://maindomain.com$request_uri;</a><br />    }<br />}<br /></div>
<div><br /></div><div>server {<br />    listen 443 ssl http2 default_server;<br />    server_name_in_redirect on;<br /><br />    server_name maindomain.com <a href="http://www.maindomain.com">www.maindomain.com</a> *.maindomain.com;<br />}</div><div><br /></div><div>Based on the docs, I recently changed by second server block from just ".maindomain.com" to the explicit matching for faster default processing.</div><div><br /></div><div>This works for "<a href="https://maindomain.com">https://maindomain.com</a>" and "<a href="http://maindomain.com">http://maindomain.com</a>". Also for both protocols for "<a href="http://www.maindomain.com">www.maindomain.com</a>". And - it works for "<a href="http://www.example1.com">www.example1.com</a>" as well as the other alternate domains with a "www" prefix. But it does not work for just "example1.com" or the other domains. It doesn't appear to be DNS - both the base domain and the "www" A records point to the same IP. What I'm receiving is a 404 Not Found for either "<a href="http://example1.com">http://example1.com</a>" (which does not re-direct to https) or "<a href="https://example1.com">https://example1.com</a>". And I don't understand why.</div><div><br /></div><div id="signature_old">--<div>Daniel</div></div><div><br /></div>
</body></html>