server_name for localhost actually matches <anything>.localhost

Gianluigi Zanettini info at zane.it
Mon Dec 17 07:43:46 UTC 2018


Ok, this seems related to the specific use of localhost. If I try it with
any other domain name, it works as expected.

I'm still interested in an answer for my own learning, but it's definitely
lower priority now.


Il giorno lun 17 dic 2018 alle ore 01:10 Gianluigi Zanettini <info at zane.it>
ha scritto:

> 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/023e7f0f/attachment.html>


More information about the nginx mailing list