AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1165854
Accepted
Ade
Ade
Asked: 2024-09-28 16:39:52 +0800 CST2024-09-28 16:39:52 +0800 CST 2024-09-28 16:39:52 +0800 CST

Resposta 503 para solicitações de pré-busca, nginx + PHP

  • 772

Tenho um aplicativo/site PHP servido pelo nginx. Quando navego pelo site usando o Google Chrome com o painel de rede de ferramentas de desenvolvimento aberto, posso ver que, antes de navegar para uma nova página de URL, há uma solicitação de pré-busca , que o servidor retorna com o código 503 (não disponível).

O CloudFlare está sendo usado como proxy.

Estou preocupado com esses erros 503. Uma configuração nginx é necessária para manipular solicitações de prefetch corretamente?

Captura de tela mostrando solicitação dupla, uma delas sendo uma solicitação de pré-busca Captura de tela mostrando cabeçalhos de resposta para solicitação de pré-busca

nginx
  • 1 1 respostas
  • 237 Views

1 respostas

  • Voted
  1. Best Answer
    MiKE
    2024-10-04T18:02:09+08:002024-10-04T18:02:09+08:00

    Olá, colegas desenvolvedores!

    Eu tive o mesmo problema e, após uma investigação mais aprofundada, descobri que esse é um recurso Beta no Cloudflare, chamado "Speed ​​Brain" . Ele instrui o navegador a iniciar uma solicitação de pré-busca em qualquer navegação futura.

    Configurações do Cloudflare Speed ​​Brain

    Não descobri como atender à solicitação de pré-busca para que ela seja bem-sucedida, então desabilitei o recurso por enquanto, pois não é importante para mim neste momento. Provavelmente há cabeçalhos adicionais a serem definidos na resposta do seu servidor para instruir o Cloudflare a armazenar o documento em cache.

    Enquanto a Cloudflare afirma o seguinte:

    As solicitações de pré-busca nunca chegarão aos servidores de origem. As solicitações de pré-busca servem apenas o conteúdo armazenado no Cache do Cloudflare. Se o conteúdo não estiver no Cache, a solicitação de pré-busca não continuará para os servidores de origem. Sem essa proteção, o estado do servidor de origem pode ser modificado, apesar da resposta de pré-busca não ser renderizada no navegador. Um exemplo disso pode ser uma solicitação GET de pré-busca para uma URL de logout, acionando inadvertidamente uma ação de logout no servidor.

    vi nos meus logs 2 requisições consecutivas no mesmo segundo, a primeira sendo da Cloudflare que tinha o cabeçalho "sec-purpose: prefetch", indicando que a requisição de alguma forma passou. Talvez eu não entenda tudo ou isso seja resultado do recurso ainda ser Beta (bugs).

    A solicitação causou problemas da nossa parte porque confundimos a pré-busca com uma solicitação real do cliente.

    Em PHP, você pode capturar essas solicitações observando os globais em $_SERVER para o cabeçalho, como este:

    if(isset($_SERVER['HTTP_SEC_PURPOSE']) && $_SERVER['HTTP_SEC_PURPOSE'] === 'prefetch') {
        echo "This is the fetch request coming through, do nothing?";
    }
    

    Em nosso código, também ignoramos as seções problemáticas acionadas pela solicitação de pré-busca, já que ela é habilitada por padrão em planos gratuitos . Acredito que isso não seja o ideal para um recurso beta. No entanto, você sempre pode desabilitar essa opção, como mostrado na imagem.

    Mais sobre isso:

    https://developers.cloudflare.com/speed/optimization/content/speed-brain/

    https://www.cloudflare.com/press-releases/2024/cloudflare-speed-brain-make-millions-of-web-pages-faster/

    Cumprimentos!

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve