127.0.1.1 is used in ubuntu / debian by default in /etc/hosts for fqdn.

Due to the fact that address don't literally match the address of network interface isLocal fails to detect that address as local.

See
https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution
https://serverfault.com/questions/363095/why-does-my-hostname-appear-with-the-address-127-0-1-1-rather-than-127-0-0-1-in

https://github.com/ClickHouse/ClickHouse/blob/51ba12c2c3106d9277bbc223adfe41fdb3e45439/src/Common/isLocalAddress.cpp#L13

{
        ifaddrs * iface;
        for (iface = ifaddr; iface != nullptr; iface = iface->ifa_next)
        {
            
            if (!iface->ifa_addr)
                continue;
            auto family = iface->ifa_addr->sa_family;
            std::optional<Poco::Net::IPAddress> interface_address;
            switch (family)
            {
                
                case AF_INET:
                {
                    interface_address.emplace(*(iface->ifa_addr));
                    break;
                }
                case AF_INET6:
                {
                    interface_address.emplace(&reinterpret_cast<const struct sockaddr_in6*>(iface->ifa_addr)->sin6_addr, sizeof(struct in6_addr));
                    break;
                }
                default:
                    continue;
            }
            /** Compare the addresses without taking into account `scope`.
              * Theoretically, this may not be correct - depends on `route` setting
              *  - through which interface we will actually access the specified address.
              */
            if (interface_address->length() == address.length()