Я ищу способ очистить кеш nginx, добавив конкретную аннотацию к URL-адресу.
Скажем, у меня есть этот URL (элемент), кэшированный с помощью nginx:
http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg
Если я хочу его очистить, мне нужно будет добавить:
http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg&purge=1
Возможно ли очистить URL-адрес, если мы добавим в конце этого URL-адреса &purge=1
?
Все обучающие программы, которые я нахожу, используют curl -X
команда для очистки определенного элемента, например:
curl -X PURGE http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg
https://scene-si.org/2016/11/02/purging-cached-items-from-nginx-with-lua/
И я хочу иметь возможность очищать кешированный элемент (URL) nginx без использования curl -X
команда.
Связанное руководство добавляет функцию очистки с помощью сценария Lua, поэтому ее можно было бы изменить для использования &purge=1
вместо метода PURGE http. тем не мение, это не рекомендуется для производственной системы.
Руководящий принцип Дизайн службы HTTP / REST это запросы GET (т.е. что происходит, когда вы звоните curl <url>
) являются «безопасными», то есть они должны быть доступны только для чтения без каких-либо побочных эффектов. Одна из причин этого в том, что клиенты могут звонить им заранее, например веб-браузер может вызывать URL-адреса, отображаемые на странице, как только она загружается, для повышения производительности. Это очистит кеш.