Fwd: server_name for localhost actually matches <anything>.localhost

Gianluigi Zanettini info at zane.it
Mon Dec 17 00:10:02 UTC 2018


Hi guys,
I'm testing my config on localhost with nginx/1.15.7 before deploying.
Since I only want to handle specific hostnames, I setup a catch-default:

server {

listen 443 ssl default_server;
...
    return 400;
}

Then I setup my real config:


server {

server_name localhost;
root /usr/share/nginx/html;
listen 443 ssl http2;
listen [::]:443 ssl http2;
...
}



My /etc/hosts:

127.0.0.1 localhost test.localhost  bogus.com


It works almost as expected: if I open https://127.0.0.1 or
https://bogus.com I get my error page, as I expected, and if I open
https://localhost I see my site.

*The problem is*: if I open https://test.localhost , I also see my website!
What? why? my server isn't defined for this hostname!

What am I doing wrong?

Thanks!

O----------------------------------------------------O
| Dr. Gianluigi Zanettini      info at zane.it          |
| Tel: +39 338 8562977         Fax: +39 0532 9631162 |
| http://TurboLab.it           http://zane.it        |
O----------------------------------------------------O
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20181217/6f51c3ae/attachment.html>


More information about the nginx mailing list