Usando / update-cache solicitações para atualizar páginas AMP
Tentando usar / update-cache / orders para atualizar algumas páginas AMP, mas estou recebendo 403 erros.
Removida a parte / protocolo de abertura dos URLs, pois não tenho a reputação de postar tantos links, mas tudo é https.
Eu tenho uma página em: www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es-fejborvizsgalattal-tanacsadas-5000-ft-helyett-2500-ft-ert-biohajlin szepsegapolas-egeszseg / amp
No cache do AMP: www-qponverzum-hu.cdn.ampproject.org/c/s/www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es-fejborvizsgalattaltan -5000-ft-helyett-2500-ft-ert-biohajklinika-szepsegapolas-egeszseg / amp
Tenho acompanhado a documentação em developers.google.com/amp/cache/update-ping
Se eu fizer uma solicitação / update-ping, ela parece funcionar bem, retorna uma resposta de 200 sem conteúdo, mas devido à grande quantidade de URLs / páginas que gostaríamos de usar / update-cache, pois permite uma taxa de solicitação mais alta .
Criei uma chave RSA privada e pública e tornei a chave pública acessível em www.qponverzum.hu/.well-known/amphtml/apikey.pub
Eu tenho tentado usar o seguinte código php para gerar o URL do cache de atualização
$ampBaseUrl = "https://www-qponverzum-hu.cdn.ampproject.org";
$signatureUrl = '/update-cache/c/s/www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es-fejborvizsgalattal-tanacsadas-5000-ft-helyett-2500-ft-ert-biohajklinika-szepsegapolas-egeszseg/amp?amp_action=flush&_ts='.time();
// opening the private key
$pkeyid = openssl_pkey_get_private("file://private-key.pem");
// generating the signature
openssl_sign($signatureUrl, $signature, $pkeyid)
// urlsafe base64 encoding
$signature = urlsafe_b64encode($signature);
// final url for updating
$ampUrl = $ampBaseUrl.$signatureUrl."&_url_signature=".$signature;
A função urlsafe_b64encode que estou usando:
function urlsafe_b64encode($string) {
return str_replace(array('+','/','='),array('-','_',''), base64_encode($string));
}
Se eu fizer uma solicitação GET simples para este URL (com um navegador ou ondulação), recebo um erro 403 ('Seu cliente não tem permissão para obter URL').
Verifiquei os logs do servidor da web, mas parece que não há solicitações feitas ao URL das chaves públicas.
Acho que estou perdendo algo muito óbvio, então qualquer feedback seria muito apreciado.