Openssl и PHP

сь использовать / update-cache / запросы для обновления некоторых страниц AMP, но я получаю 403 ошибки.

Удалил начальную часть / протокол из URL, так как у меня нет репутации публиковать столько ссылок, но все это https.

У меня есть страница по адресу: www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es-fejborvizsgalattal-tanacsadas-5000-ft-helyett-2500-ftjert-b szepsegapolas-egeszseg / амп

Из кеша AMP: www-qponverzum-hu.cdn.ampproject.org/c/s/www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es-sjatasborv -5000-фут-helyett-2500 футов-ERT-biohajklinika-szepsegapolas-egeszseg / усилитель

Я следил за документацией по адресу developers.google.com/amp/cache/update-ping.

Если я делаю запрос / update-ping, он, кажется, работает нормально, возвращает ответ 200 без содержимого, но из-за большого количества URL / страниц мы хотели бы использовать / update-cache, поскольку он учитывает более высокую частоту запросов ,

Я создал закрытый и открытый ключ RSA и сделал доступным открытый ключ по адресу www.qponverzum.hu/.well-known/amphtml/apikey.pub.

Я пытался использовать следующий код PHP для создания URL-адреса обновления кэша

$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."&amp_url_signature=".$signature;

Я использую функцию urlsafe_b64encode:

function urlsafe_b64encode($string) {
    return str_replace(array('+','/','='),array('-','_',''), base64_encode($string));
}

В итоге $ ampUrl выглядит так:https://www-qponverzum-hu.cdn.ampproject.org/update-cache/c/s/www.qponverzum.hu/ajanlat/budapest-elozd-meg-a-hajhullast-mikrokameras-hajdiagnosztika-hajhagyma-es- fejborvizsgalattal-tanacsadas-5000 футов-helyett-2500 футов-ERT-biohajklinika-szepsegapolas-egeszseg / усилитель? amp_action = вровень & amp_ts = 1500362660 & amp_url_signature = NjTCnmqUGpMY_CokGxchoczSOxnTLQvcQsX4fv2gIhW3H8hVw24mKCpmNoyV-9LND3OAR9ld80KeMH3lip863p_wBorIy1BAag7bRfvWcxsPrbqbox87VMrUWCEsry5epWxKYl2qNCT1GMv8SYAJ5WR0QZR0Qjvw5MXfZjohmbvrxJ7mWlc7fcvWoIXuO_q_yFkhi7A-fOZWm9sy8UDIlq-zNEPkVUwfqfWc_HbNHgvrk9Z6zZSNzB-dWAOT6QYAc1KeEVOIbvQxKkLkGMArTpydj5iLxz0aERvglKRl215Bqh6_jZu95T5yKv7X4R127ylpWYW2YDlTR9bgRE7Faw

Если я сделаю простой запрос GET на этот URL (с помощью браузера или curl), я получу ошибку 403 («У вашего клиента нет разрешения на получение URL»).

Я проверил логи веб-сервера, но не похоже, что есть какие-либо запросы к URL открытых ключей.

Я думаю, что упускаю что-то очень очевидное, поэтому любая обратная связь будет принята с благодарностью.

Ответы на вопрос(3)

Ваш ответ на вопрос