Most active commenters

    ←back to thread

    .localhost Domains

    (inclouds.space)
    301 points todsacerdoti | 11 comments | | HN request time: 0.001s | source | bottom
    1. WhyNotHugo ◴[] No.43644682[source]
    Any subdomain of .localhost works out-of-the-box on Linux, OpenBSD and plenty of other platforms.

    Of note, it doesn't work on macOS. I recall having delivered a coding assignment for a job interview long ago, and the reviewer said it didn't work for them, although the code all seemed correct to them.

    It turned out on macOS, you need to explicitly add any subdomains of .localhost to /etc/hosts.

    I'm still surprised by this; I always thought that localhost was a highly standard thing covered in the RFC long long ago… apparently it isn't, and macOS still doesn't handle this TLD.

    replies(4): >>43645195 #>>43645649 #>>43646574 #>>43651614 #
    2. oulipo ◴[] No.43645195[source]
    Just did that on my mac and it seems to work?

        $ ping hello.localhost
        PING hello.localhost (127.0.0.1): 56 data bytes
        64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.057 ms
        64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.162 ms
    replies(2): >>43645300 #>>43647295 #
    3. Shywim ◴[] No.43645300[source]
    Not for me, MacOS 15.4:

        $ ping hello.localhost
        ping: cannot resolve hello.localhost: Unknown host
    replies(1): >>43646672 #
    4. parasti ◴[] No.43645649[source]
    I am doing this on macOS with no problem.
    5. jwilk ◴[] No.43646574[source]
    > Any subdomain of .localhost works out-of-the-box on Linux

    No, not here.

    replies(1): >>43646680 #
    6. fimdomeio ◴[] No.43646672{3}[source]
    I think I had mixed results on mac depending on the network I was connected to. I think it has something to do with ipv4 vs ipv6
    replies(1): >>43662879 #
    7. jchw ◴[] No.43646680[source]
    This usually happens because you have a Linux setup that doesn't use systemd-resolved and it also doesn't have myhostname early enough in the list of name resolvers. Not sure how many Linux systems default to this, but if you want this behavior, adjust your NSS configuration, most likely.
    replies(1): >>43699895 #
    8. tedunangst ◴[] No.43647295[source]
    That's because your DNS server sends back 127.0.0.1. The query isn't resolved locally.
    9. telotortium ◴[] No.43651614[source]
    It's easy to be tricked into thinking macOS supports it, because both Chrome and Curl support it. However, ping does not, nor do more basic tools like Python's request library (and I presume urllib as well).
    10. g0db1t ◴[] No.43662879{4}[source]
    Ironically for me it works on my MacOS laptop but not on my Debian 12 VPS
    11. WhyNotHugo ◴[] No.43699895{3}[source]
    You don't need systemd-resolved for .localhost domains to work. It works on systemd-based distros using another resolver as well as non-systemd distros.

    I've never seen this not-work on any distro, must be a niche thing.