Можно ли сделать сайт всегда онлайн? - PullRequest
0 голосов
/ 15 ноября 2018

Ну, я хочу, чтобы мой сайт всегда был онлайн.

Один метод: возможно ли кэшировать весь сайт, используя nginx proxy_pass для времени входа в систему? И как? На самом деле, я имею в виду, если бэкэнд не работает или не работает, мы все равно можем использовать кеш для людей, которые посещают мой сайт.

Еще один метод: гусеничный?

ИЛИ технология моментальных снимков, например, поисковая система в кеше?

1 Ответ

0 голосов
/ 15 ноября 2018

На самом деле proxy_pass не может кэшировать веб-сайты (если только у вас нет действующего приложения, которое имеет кэш веб-сайта на другом конце), поскольку все, что он делает, это передает запросы другой конечной точке. Сканеры обычно ссылаются на роботов поисковых систем, которые просматривают веб-сайт для ссылок, чтобы они могли проиндексировать всю информацию на веб-сайте для поисковой системы, на которой размещен сканер.

«Технология моментальных снимков» работает и обычно создается CDN, такими как Cloudflare / Akamai, и, вероятно, это то, что вы ищете. CDN также используются для многих других вещей, но я предполагаю, что вы больше всего заинтересованы в том, чтобы показать копию своего сайта, если он иногда отключается.

Существует также другая опция, которая задает заголовки кэширования браузера в NGINX, который инструктирует браузеры пользователя показывать кэшированную копию вашего сайта, а не обновлять ее, пока не истечет срок действия кэша. Однако недостатком является то, что ваши пользователи не смогут видеть живую копию вашего сайта, даже если ваш сайт подключен к сети, и что они должны были посетить вашу веб-страницу в течение времени кэширования, чтобы ее кэшировать.

Пример:

location ~* \.(?:js|css|html)$ {
        expires 1d; #users' browsers cache it for a day
        add_header Pragma public;
        add_header Cache-Control "public";
}
...