Acessar localhost não é o problema, já que você já está ouvindo * (o que significa todas as interfaces). Para que alguém acesse seu servidor usando o nome "example.com", ele precisa resolver um ip que chegará ao seu servidor a partir da máquina cliente. O que isso significa depende do seu ambiente.
Para testar, se você estiver tentando acessar o site a partir da mesma máquina que está executando o node.js (que é adequado apenas para testes), sugiro adicionar o endereço de loopback ao cache de nome do sistema dns. / etc / hosts em unix e Windows \ system32 \ drivers \ etc \ hosts na maioria das janelas. Como dito, isso é bom apenas para testes: adicione a linha: 127.0.0.1 example.com
ao final do arquivo em sua própria linha.
Para uso em produção, para que outras pessoas possam acessar seu site, você precisa de um provedor de dns (serviço de nome de domínio) para vincular seu nome ao seu ip público. Isso vai custar cerca de US $ 10 / ano. Você também precisa de um IP público que não seja bloqueado pelos isps de outras pessoas e, de preferência, um IP que não mude com muita frequência. Isso pode variar de redirecionamento facilitado (não recomendado, se apenas para limitações de largura de banda e disponibilidade) a pequenos aplicativos de hospedagem (de US $ 25 a US $ 100 por ano ou mais, dependendo do espaço e das necessidades de computação).
Ambos os serviços são oferecidos por provedores de nuvem, basta procurar por serviços de hospedagem em nuvem. Provedores populares incluem os serviços web daddy e amazon. Eu tive experiências melhores com a AWS.
Além disso, expor os nodejs a um ip público provavelmente não é a melhor idéia. Além disso, sugiro que você analise alguns middlewares, como o apache ou o nginx, para envolver seu aplicativo em algo que ouça as solicitações http da tradição.
Editar em resposta ao comentário:
Nesse caso, você deseja definir um caminho de URL parcial nas suas configurações do apache. Isso é conhecido como um proxy reverso, o que significa que você define uma regra para quais URLs / solicitações devem ser redirecionados (proxied) para node.js e o apache os direcionará para você. Veja os documentos do apache aqui e esta pergunta de falha do servidor:
Observe que os documentos do apache tendem a assumir que o aplicativo backend está sendo executado em outro servidor, mas funciona da mesma forma para o host local. Você quer diretivas proxypass e proxypassreverse.