Tenho uma instalação PHP e uma instalação Bun no meu NGINX. Em ambos os casos, parece que, com o NGINX padrão do Ubuntu 24.04, o referenciador HTTP / referrer não está definido. Na minha configuração Bun, tenho:
proxy_set_header Referer $http_referer;
Na minha configuração PHP, tenho:
fastcgi_param HTTP_REFERER $http_referer;
Quando faço um redirecionamento no meu subdomínio PHP e no meu subdomínio Bun, quando tento mostrar os cabeçalhos, seja pela linha de comando do Curl, pelas ferramentas do desenvolvedor do Chrome ou por código, todos mostram um referenciador vazio.
Estou executando a versão nginx: nginx/1.27.4
Qual é o problema?
O cabeçalho Referer só é definido quando seguido em um navegador configurado para preencher o cabeçalho Referer.
De acordo com a documentação geral da Mozilla sobre as especificações HTTP em geral, o Cabeçalho Referer é um Cabeçalho de Solicitação Proibido , o que significa que você não pode defini-lo programaticamente. É por isso que o
curl
,python
, Ferramentas de Desenvolvimento do Chrome, etc. não o definem. Eles fisicamente não têm permissão para isso devido à natureza do cabeçalho.A menos que o cabeçalho Referer esteja definido na requisição, o que só acontece quando o usuário clica no link E o navegador está configurado para enviar o cabeçalho Referer (existem maneiras de configurar navegadores para NÃO fazer isso com plugins ou opções de configuração), você não verá um cabeçalho Referer definido em suas requisições e, portanto, receberá valores Referer vazios. Isso não é um bug do NGINX, é simplesmente um caso em que as requisições que chegam ao seu servidor não contêm um valor Referer porque ele não está sendo definido (e não pode ser definido programaticamente por você, mesmo que você tente).
Observe que alguns sites até configuram cabeçalhos de Política de Referência para que o navegador/ferramentas obedeçam a determinados comportamentos. Observei que um número crescente de sites que consultei – para fins de segurança do usuário ou proteção de backlinks – têm usado
Referrer-Policy: no-referrer
a instrução "Não insira um valor de cabeçalho de Referência" para links e solicitações. Você também pode estar se deparando com isso.