INTEGRITY Документация

6. Откат конфигурации

Иногда приходится откатывать изменения конфигурации. Например, вы можете захотеть протестировать производительность новой конфигурации, или, возможно, вы опечатались в IP-адресе и из-за этого положили весь сайт.

Чтобы откатить конфигурацию, переключитесь на нужную ветку и попросите Terraform вернуть настройки Cloudflare к предыдущему состоянию. Если вы случайно вывели сайт из строя, продумайте стратегию рецензирования пул-реквестов вместо прямого слияния в master как это сделано в учебных материалах для краткости.

1. Просмотрите историю своей конфигурации

Прежде чем решить, насколько далеко откатываться, изучите историю Git:

git log --oneline
f1a2b3c Step 5 - Add two Page Rules
d4e5f6g Step 4 - Create load balancer (LB) monitor, LB pool, and LB
a7b8c9d Step 3 - Enable TLS 1.3, automatic HTTPS rewrites, and strict SSL
e1f2g3h Step 2 - Initial Terraform v5 configuration

Еще одно преимущество хранения конфигурации Cloudflare в Git: вы видите, кто внес изменение. А если в команде принято проверять pull request, вы также видите, кто его рассмотрел и одобрил.

git log

Проверьте, когда было внесено последнее изменение:

git show

Здесь показан самый последний коммит и изменённые файлы.

2. Сценарий: отмена Page Rules

Предположим, что вскоре после того, как вы развернули Page Rules, следуя Добавление исключений с помощью Page Rules руководстве вы узнаете, что URL больше не нужен, а настройку безопасности и переадресацию следует удалить.

Вы всегда можете отредактировать файл конфигурации напрямую и удалить эти записи, но для этого также можно использовать Git.

Откат через Git

С помощью Git создайте коммит отмены для изменений Page Rules:

git revert HEAD

Git откроет редактор по умолчанию с сообщением коммита. Сохраните и закройте его, чтобы принять сообщение по умолчанию, или измените его:

Revert "Add Page Rules for security and redirects"

This reverts commit f1a2b3c4d5e6f7a8b9c0d1e2f3g4h5i6j7k8l9m0.

3. Просмотрите изменения

Проверьте, что Terraform сделает с откаченной конфигурацией:

terraform plan

Ожидаемый результат:

Plan: 0 to add, 0 to change, 2 to destroy.

Terraform will perform the following actions:

  # cloudflare_page_rule.expensive_endpoint_security will be destroyed
  # cloudflare_page_rule.legacy_redirect will be destroyed

Как и ожидалось, Terraform удалит два Page Rules, добавленных в руководстве 5.

4. Примените изменения

Примените изменения, чтобы удалить Page Rules из зоны Cloudflare:

terraform apply --auto-approve
cloudflare_page_rule.expensive_endpoint_security: Destroying...
cloudflare_page_rule.legacy_redirect: Destroying...
cloudflare_page_rule.expensive_endpoint_security: Destruction complete after 1s
cloudflare_page_rule.legacy_redirect: Destruction complete after 1s

Apply complete! Resources: 0 added, 0 changed, 2 destroyed.

Как и ожидалось, два ресурса были удалены, и вы вернулись к предыдущей версии.

5. Проверка отката

Проверьте, что правила Page Rules больше не активны:

# This should now return 404 (no redirect)
curl -I https://www.example.com/old-location.php

# This should return normal response (no Under Attack mode)
curl -I https://www.example.com/expensive-db-call

Конфигурация успешно откачена. Page Rules удалены, а настройки зоны возвращены к предыдущему состоянию. Система контроля версий Git позволяет в любой момент безопасно восстановить или откатить изменения.