Как пропинговать от cloudflare до своего сервера
Перейти к содержимому

Как пропинговать от cloudflare до своего сервера

  • автор:

Хостинг сайта с использованием Cloudflare и Nginx в Ubuntu 20.04

Хостинг сайта с использованием Cloudflare и Nginx в Ubuntu 20.04

Cloudflare — это служба, располагающаяся между посетителем и сервером владельца сайта, выступающая как обратный прокси-сервер для сайтов. Cloudflare предоставляет сеть доставки контента (CDN), а также защиту от DDoS и распределенные службы сервера доменных имен.

Nginx — это популярный веб-сервер, на котором размещены многие крупнейшие сайты с самым большим трафиком в Интернете. Организации часто обслуживают сайты с помощью Nginx и используют Cloudflare как поставщика CDN и DNS.

В этом обучающем модуле вы научитесь защищать свой сайт, обслуживаемый Nginx, сертификатом ЦС Origin от Cloudflare и настраивать Nginx для использования запросов pull с аутентификацией. Преимущества такой системы заключаются в том, что вы используете CDN и быстрое разрешение DNS от Cloudflare и гарантируете проведение всех соединений через Cloudflare. Это не даст вредоносным запросам достичь вашего сервера.

Предварительные требования

Для прохождения данного обучающего руководства вам потребуется следующее:

  • Один сервер Ubuntu 20.04, настроенный в соответствии с руководством по начальной настройке сервера Ubuntu 20.04, включая пользователя без прав root с привилегиями sudo и брандмауэр.
  • Nginx, установленный на сервере. Вы можете следовать указаниям нашего руководства по установке Nginx в Ubuntu 20.04.
  • Учетная запись Cloudflare.
  • Добавленный в учетную запись Cloudflare зарегистрированный домен, указывающий на ваш сервер Nginx. В настройке вам поможет наше руководство по смягчению DDoS-атак против вашего сайта с помощью Cloudflare. Также будет полезно наше введение в терминологию, компоненты и концепции DNS.
  • Серверный блок Nginx, настроенный для вашего домена, для чего вы можете использовать шаг 5 руководства по установке Nginx в Ubuntu 20.04.

Шаг 1 — Генерирование сертификата TLS от ЦС Origin

Центр сертификации Cloudflare Origin позволяет сгенерировать бесплатный сертификат TLS, подписанный Cloudflare, для установки на ваш сервер Nginx. Используя сгенерированный TLS сертификат TLS Cloudflare, вы можете защитить соединение между серверами Cloudflare и вашим сервером Nginx.

Для генерирования сертификата с использованием ЦС Origin выполните вход в свою учетную запись Cloudflare через браузер. Выберите домен, который хотите защитить, и перейдите в раздел SSL/TLS панели управления Cloudflare. Откройте вкладку Origin Server (Сервер Origin) и нажмите кнопку Create Certificate (Создать сертификат):

Опция создания сертификата в панели управления Cloudflare

Оставьте выбранной опцию по умолчанию Let Cloudflare generate a private key and a CSR (Позволить Cloudflare сгенерировать закрытый ключ и CSR).

Опции графического интерфейса ЦС Origin

Нажмите Next (Далее), и вы увидите диалоговое окно с сертификатом Origin и закрытым ключом. Вам потребуется переместить сертификат Origin и закрытый ключ с сервера Cloudflare на ваш сервер. Для дополнительной безопасности информация закрытого ключа больше не будет отображаться, поэтому вам следует скопировать ключ на свой сервер, прежде чем нажать OK.

Диалоговое окно с сертификатом Origin и закрытым ключом

Мы будем использовать каталог /etc/ssl на сервере для хранения сертификата Origin и файлов закрытого ключа. Эта папка уже существует на сервере.

Вначале скопируйте содержимое сертификата Origin, отображаемое в диалоговом окне вашего браузера.

Затем откройте на сервере файл /etc/ssl/cert.pem в предпочитаемом текстовом редакторе:

Добавьте в файл содержимое сертификата. Сохраните файл и закройте редактор.

Затем вернитесь в браузер и скопируйте содержимое закрытого ключа. Откройте файл /etc/ssl/key.pem для редактирования:

Вставьте в файл закрытый ключ, закройте файл и выйдите из редактора.

Примечание. Иногда при копировании сертификата и ключа из панели управления Cloudflare и их вставке в соответствующие файлы на сервере в файлы могут быть добавлены пустые строки. Nginx рассматривает такие сертификаты и ключи как некорректные, поэтому следует убедиться, что в файлах нет пустых строк.

Предупреждение. Сертификату ЦС Cloudflare Origin доверяет только Cloudflare, и поэтому его следует использовать только на серверах Origin, имеющих активное подключение к Cloudflare. Если вы приостановите или отключите Cloudflare в любой момент, при обработке сертификата ЦС Origin будет выведена ошибка отсутствия доверия к сертификату.

Мы скопировали файлы ключа и сертификата на сервер, и теперь нам нужно обновить конфигурацию Nginx для их использования.

Шаг 2 — Установка сертификата ЦС Origin в Nginx

В предыдущем разделе мы сгенерировали сертификат Origin и закрытый ключ, используя панель управления Cloudlfare, а также сохранили файлы на сервере. Теперь мы обновим конфигурацию Nginx нашего сайта, чтобы использовать сертификат Origin и закрытый ключ для защиты соединения между серверами Cloudflare и вашим сервером.

Для начала убедитесь, что брандмауэр UFW разрешает трафик HTTPS. Включите опцию Nginx Full , которая открывает порт 80 (HTTP) и порт 443 (HTTPS):

Убедитесь, что новые правила разрешены и брандмауэр UFW активен:

Результат должен будет выглядеть следующим образом:

Теперь вы готовы к настройке серверного блока Nginx. Во время установки Nginx создает серверный блок по умолчанию. Удалите его, если он еще существует, поскольку мы уже настроили персонализированный серверный блок для вашего домена:

Затем откройте файл конфигурации Nginx для вашего домена:

Файл должен выглядеть следующим образом:

Мы изменим конфигурацию Nginx, чтобы она выполняла следующее:

  • Прослушивание порта 80 и перенаправление всех запросов с использованием https .
  • Прослушивание порта 443 и использование сертификата Origin и закрытого ключа, добавленных на предыдущем шаге.

Измените файл, чтобы он выглядел следующим образом:

Сохраните файл и выйдите из редактора.

Протестируйте файлы конфигурации Nginx на отсутствие ошибок синтаксиса:

Если вы не обнаружите проблем, перезапустите Nginx для внесения изменений:

Откройте раздел SSL/TLS панели управления Cloudflare, перейдите на вкладку Overview (Обзор) и измените режим шифрования SSL/TLS на Full (strict) (Полный (строгий)). Это предпишет Cloudflare всегда шифровать соединение между Cloudflare и вашим сервером Nginx.

Активация полного (строгого) режима SSL на панели управления Cloudflare

Теперь откройте свой сайт по адресу https:// your_domain и убедитесь, что он правильно настроен. Вы увидите свою домашнюю страницу, и браузер сообщит, что сайт защищен.

В следующем разделе мы настроим аутентификацию запросов pull ЦС Origin для подтверждения того, что ваш сервер взаимодействует именно с Cloudflare, а не с каким-то другим сервером. Так мы настроим Nginx принимать только те запросы, в которых используется действующий сертификат клиента от Cloudflare, а все запросы, не проходящие через Cloudflare, будут отбрасываться.

Шаг 3 — Настройка запросов pull ЦС Origin с аутентификацией

Сертификат ЦС Origin помогает Cloudflare подтверждать взаимодействие с правильным сервером Origin. На этом шаге мы используем аутентификацию клиента TLS, чтобы подтвердить взаимодействие вашего сервера Nginx с Cloudflare.

При установлении связи TLS с аутентификацией клиента обе стороны предоставляют сертификат для проверки. Сервер Origin настроен так, чтобы принимать только те запросы, в которых используется действующий сертификат клиента от Cloudflare. Запросы, не проходящие через Cloudflare, будут отклоняться, поскольку у них не будет сертификата Cloudflare. Это означает, что злоумышленники не смогут обходить меры безопасности Cloudflare и подключаться к вашему серверу Nginx напрямую.

Cloudflare предоставляет сертификаты, подписанные ЦС со следующим сертификатом:

Также вы можете загрузить сертификат напрямую из Cloudflare здесь.

Скопируйте этот сертификат.

Затем создайте файл /etc/ssl/cloudflare.crt для хранения сертификата Cloudflare:

Добавьте сертификат в файл. Сохраните файл и выйдите из редактора.

Обновите конфигурацию Nginx для использования запросов pull ЦС Origin с аутентификацией TLS. Откройте файл конфигурации вашего домена:

Добавьте директивы ssl_client_certificate и ssl_verify_client , как показано в следующем примере:

Сохраните файл и выйдите из редактора.

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

Если проблем обнаружено не будет, перезапустите Nginx для активации изменений:

Для аутентификации запросов pull откройте раздел SSL/TLS в панели управления Cloudflare, перейдите на вкладку Origin Server (Сервер Origin) и включите опцию Authenticated Origin Pulls (Запросы pull сервера Origin с аутентификацией).

Включить запросы pull сервера Origin с аутентификацией

Откройте сайт по адресу https:// your_domain для проверки правильности настройки. Как и в предыдущем случае, вы увидите свою домашнюю страницу.

Чтобы ваш сервер принимал только запросы, подписанные ЦС Cloudflare, отключите опцию Authenticated Origin Pulls (Запросы pull сервера Origin с аутентификацией) и перезагрузите свой сайт. Вы должны получить следующее сообщение об ошибке:

Сообщение об ошибке

Ваш сервер Origin выдаст ошибку, если ЦС Cloudflare не подпишет запрос.

Примечание. Большинство браузеров кэшируют запросы, и, чтобы увидеть вышеуказанное изменение, вы можете использовать режим инкогнито/конфиденциального просмотра в своем браузере. Чтобы не дать Cloudflare кэшировать запросы во время настройки сайта, перейдите на вкладку Overview (Обзор) в панели управления Cloudflare и включите опцию Development Mode (Режим разработки).

Теперь вы знаете, что все работает нормально, и вам нужно будет вернуться в раздел SSL/TLS на панели управления Cloudflare, перейти на вкладку Origin Server (Сервер Origin) и включить опцию Authenticated Origin Pulls (Запросы pull ЦС Origin с аутентификацией).

Заключение

В этом обучающем модуле мы защитили сайт на базе Nginx посредством шифрования трафика между Cloudflare и сервером Nginx с использованием сертификата ЦС Origin от Cloudflare. Затем мы настроили запросы pull ЦС Origin с аутентификацией на сервере Nginx, чтобы он принимал только запросы с серверов Cloudflare, и чтобы никто другой не мог подключиться к серверу Nginx напрямую.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Ping all the ips of cloudflare.

License

olixu/cloudflare-ip-ping

Name already in use

  • Local
  • Codespaces

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

博客:Oliverxu’s blog

cloudflare-ip-ping

Cloudflare provides a CDN service which can speed up the websites. While using the free plan, you could not choose the nodes of the CDN. However, The cloudflare partner project allows users to use cname to get their websites into the CDN, which means users can choose whichever nodes they like.

There are some situations that you only want to speed up your websites at your location. I will tell you how to use Python to choose the the ip that suits you best.

Principle

Cloudflare has a ip list of their CDN, which can be obtained at here. The method that i use is very simple:

  1. Ping the IPs and get the latency and loss.
  2. Choose the best IP.
  3. Use Cloudflare Partner Project to cname your domain to the chosen ip.

Usage

You will get a log file in your current directory.

In pingip.py file. You could change:

  • the number of threads to fit the performance of your computer and your network capacity.
  • the THRESHOLD under which the ip and latency will be logged into the log file.

Windows Clients

If you are using windows 10 x64. You can directly use the package I packed, It can be found [here].(https://github.com/olixu/cloudflare-ip-ping/releases)

How to contribute this repo

You could open an issue and upload your log file, tell me whether this script works or not, please attach your location and your network supplier.

Обслуживание веб-сайта с помощью Cloudflare и Nginx в Ubuntu 16.04

Cloudflare – это сервис, который находится между посетителем и сервером веб-сайта и действует как обратный прокси-сервер. Cloudflare предоставляет сеть доставки контента (CDN), а также сервисы для смягчения атак DDoS и распределенные серверы доменных имен.

Nginx – популярный веб-сервер, с помощью которого сегодня обслуживается множество крупных и дорогих сайтов в Интернете. Организации часто используют Nginx для обслуживания сайтов, а Cloudflare – в качестве провайдера CDN и DNS.

В этом мануале вы научитесь защищать свой сайт с помощью сертификата Origin CA от Cloudflare и настраивать Nginx для поддержки авторизации запросов на загрузку. Преимущества этой настройки заключаются в том, что вы можете пользоваться CDN и быстрым разрешением DNS, гарантируя, что все соединения проходят через Cloudflare. Это предотвращает доступ злоумышленников к серверу.

Требования

  • Сервер Ubuntu 16.04, настроенный по этому мануалу.
  • Nginx, установленный по мануалу Установка Nginx в Ubuntu 16.04.
  • Аккаунт Cloudflare.
  • Зарегистрированный домен, добавленный в ваш аккаунт Cloudflare, который указывает на сервер Nginx. Следуйте мануалу Смягчение DDoS-атаки сайта с помощью CloudFlare.
  • Виртуальный хост Nginx для вашего домена, который вы можете создать по инструкциям мануала Настройка виртуальных хостов Nginx в Ubuntu 16.04.

1: Создание TLS-сертификата Origin CA

Центр сертификации Cloudflare Origin CA позволяет создавать бесплатные сертификаты TLS, подписанные Cloudflare, и устанавливать их на сервер Nginx. Используя TLS-сертификат Cloudflare, вы можете защитить соединение между серверами Cloudflare и Nginx.

Чтобы получить сертификат Origin CA, откройте раздел Crypto в панели управления Cloudflare, кликните Create Certificate в разделе Origin Certificates.

Оставьте опцию Let CloudFlare generate a private key and a CSR.

Нажмите Next, и вы увидите диалог с Origin Certificate и Private key. Вам необходимо перенести сертификат и закрытый ключ с CloudFlare на сервер.

Для хранения сертификата можно использовать каталог /etc/ssl/certs. В каталоге /etc/ssl/private будет храниться файл закрытого ключа. Обе папки уже существуют на сервере.

Сначала скопируйте содержимое сертификата Origin Certificate, отображаемого в диалоговом окне вашего браузера.

Затем на сервере откройте /etc/ssl/certs/cert.pem для редактирования:

sudo nano /etc/ssl/certs/cert.pem

Вставьте содержимое сертификата в файл. Затем сохраните и выйдите из редактора.

Вернитесь в браузер и скопируйте содержимое Private key. Откройте файл /etc/ssl/private/key.pem для редактирования:

sudo nano /etc/ssl/private/key.pem

Вставьте ключ в файл, сохраните его и закройте редактор.

Важно! Сертификату Origin CA доверяет только Cloudflare, поэтому его можно использовать только серверами, которые подключены к Cloudflare. Если в какой-либо момент вы приостановите или отключите Cloudflare, сертификат Origin CA выдаст ошибку, потому что сертификат не является доверенным.

Теперь, когда вы скопировали ключ и сертификат на сервер, вам необходимо обновить конфигурацию Nginx, чтобы использовать их.

2: Установка Origin CA на Nginx

Итак, вы сгенерировали сертификат и закрытый ключ с помощью панели управления Cloudlfare и сохранили файлы на вашем сервере. Теперь нужно обновить конфигурацию Nginx вашего сайта, чтобы веб-сервер мог использовать сертификат и ключ для защиты соединения между серверами Cloudflare и вашим сервером.

Nginx создает виртуальный хост по умолчанию во время установки. Удалите его, если он существует, поскольку у вас уже должен быть пользовательский виртуальный хост.

sudo rm /etc/nginx/sites-enabled/default

Затем откройте конфигурационный файл Nginx для вашего домена:

sudo nano /etc/nginx/sites-available/example.com

Он должен выглядеть так:

server <
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / <
try_files $uri $uri/ =404;
>
>

Конфигурационный файл Nginx нужно изменить следующим образом:

  • Настроить прослушивание порта 80 и перенаправить все запросы на использование https.
  • Настроить прослушивание порта 443 и добавить поддержку сертификата и закрытого ключа.

server <
listen 80;
listen [::]:80;
server_name example.com www.example.com;

return 302 https://$server_name$request_uri;

>

server < # SSL configuration listen 443 ssl http2; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/ssl/certs/cert.pem; ssl_certificate_key /etc/ssl/private/key.pem;
server_name example.com www.example.com ;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
location / <
try_files $uri $uri/ =404;
>
>

Сохраните и закройте фал.

Затем проверьте, нет ли в конфигурации Nginx синтаксических ошибок:

Если ошибок не обнаружено, перезапустите Nginx, чтобы обновить параметры:

sudo systemctl restart nginx

Теперь перейдите в раздел Crypto панели Cloudflare и измените режим SSL на Full. Так Cloudflare сможет шифровать соединение между своими серверами и вашим сервером Nginx.

Теперь посетите свой веб-сайт, чтобы убедиться, что он настроен правильно. Вы увидите свою домашнюю страницу, а браузер сообщит, что сайт защищен.

В следующем разделе вы настроите Authenticated Origin Pulls. Это позволит серверу подтвердить, что он действительно взаимодействует с Cloudflare, а не с каким-то другим сервером. При этом Nginx будет настроен только на прием запросов, которые используют действительный сертификат клиента Cloudflare, а запросы, которые не прошли через CloudFlare, будут сброшены.

3: Настройка Authenticated Origin Pulls

Сертификат CA Origin поможет серверу Cloudflare подтвердить, что он взаимодействует с правильным сервером. Но как сервер Nginx может проверить, что он на самом деле взаимодействует с Cloudflare? Для этого нужно настроить аутентификацию клиента TLS.

При рукопожатии TLS обе стороны предоставляют для проверки свои сертификаты. Исходный сервер настроен только на прием запросов, которые используют действительный сертификат клиента Cloudflare. Запросы, которые не прошли через Cloudflare, будут сбрасываться, поскольку у них нет сертификата Cloudflare. Это означает, что злоумышленники не могут обойти меры безопасности Cloudflare и напрямую подключиться к вашему серверу Nginx.

Cloudflare представляет сертификаты, подписанные ЦС, со следующим сертификатом:

——BEGIN CERTIFICATE——
MIIGBjCCA/CgAwIBAgIIV5G6lVbCLmEwCwYJKoZIhvcNAQENMIGQMQswCQYDVQQG
EwJVUzEZMBcGA1UEChMQQ2xvdWRGbGFyZSwgSW5jLjEUMBIGA1UECxMLT3JpZ2lu
IFB1bGwxFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xEzARBgNVBAgTCkNhbGlmb3Ju
aWExIzAhBgNVBAMTGm9yaWdpbi1wdWxsLmNsb3VkZmxhcmUubmV0MB4XDTE1MDEx
MzAyNDc1M1oXDTIwMDExMjAyNTI1M1owgZAxCzAJBgNVBAYTAlVTMRkwFwYDVQQK
ExBDbG91ZEZsYXJlLCBJbmMuMRQwEgYDVQQLEwtPcmlnaW4gUHVsbDEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzETMBEGA1UECBMKQ2FsaWZvcm5pYTEjMCEGA1UEAxMa
b3JpZ2luLXB1bGwuY2xvdWRmbGFyZS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDdsts6I2H5dGyn4adACQRXlfo0KmwsN7B5rxD8C5qgy6spyONr
WV0ecvdeGQfWa8Gy/yuTuOnsXfy7oyZ1dm93c3Mea7YkM7KNMc5Y6m520E9tHooc
f1qxeDpGSsnWc7HWibFgD7qZQx+T+yfNqt63vPI0HYBOYao6hWd3JQhu5caAcIS2
ms5tzSSZVH83ZPe6Lkb5xRgLl3eXEFcfI2DjnlOtLFqpjHuEB3Tr6agfdWyaGEEi
lRY1IB3k6TfLTaSiX2/SyJ96bp92wvTSjR7USjDV9ypf7AD6u6vwJZ3bwNisNw5L
ptph0FBnc1R6nDoHmvQRoyytoe0rl/d801i9Nru/fXa+l5K2nf1koR3IX440Z2i9
+Z4iVA69NmCbT4MVjm7K3zlOtwfI7i1KYVv+ATo4ycgBuZfY9f/2lBhIv7BHuZal
b9D+/EK8aMUfjDF4icEGm+RQfExv2nOpkR4BfQppF/dLmkYfjgtO1403X0ihkT6T
PYQdmYS6Jf53/KpqC3aA+R7zg2birtvprinlR14MNvwOsDOzsK4p8WYsgZOR4Qr2
gAx+z2aVOs/87+TVOR0r14irQsxbg7uP2X4t+EXx13glHxwG+CnzUVycDLMVGvuG
aUgF9hukZxlOZnrl6VOf1fg0Caf3uvV8smOkVw6DMsGhBZSJVwao0UQNqQIDAQAB
o2YwZDAOBgNVHQ8BAf8EBAMCAAYwEgYDVR0TAQH/BAgwBgEB/wIBAjAdBgNVHQ4E
FgQUQ1lLK2mLgOERM2pXzVc42p59xeswHwYDVR0jBBgwFoAUQ1lLK2mLgOERM2pX
zVc42p59xeswCwYJKoZIhvcNAQENA4ICAQDKDQM1qPRVP/4Gltz0D6OU6xezFBKr
LWtDoA1qW2F7pkiYawCP9MrDPDJsHy7dx+xw3bBZxOsK5PA/T7p1dqpEl6i8F692
g//EuYOifLYw3ySPe3LRNhvPl/1f6Sn862VhPvLa8aQAAwR9e/CZvlY3fj+6G5ik
3it7fikmKUsVnugNOkjmwI3hZqXfJNc7AtHDFw0mEOV0dSeAPTo95N9cxBbm9PKv
qAEmTEXp2trQ/RjJ/AomJyfA1BQjsD0j++DI3a9/BbDwWmr1lJciKxiNKaa0BRLB
dKMrYQD+PkPNCgEuojT+paLKRrMyFUzHSG1doYm46NE9/WARTh3sFUp1B7HZSBqA
kHleoB/vQ/mDuW9C3/8Jk2uRUdZxR+LoNZItuOjU8oTy6zpN1+GgSj7bHjiy9rfA
F+ehdrz+IOh80WIiqs763PGoaYUyzxLvVowLWNoxVVoc9G+PqFKqD988XlipHVB6
Bz+1CD4D/bWrs3cC9+kk/jFmrrAymZlkFX8tDb5aXASSLJjUjcptci9SKqtI2h0J
wUGkD7+bQAr+7vr8/R+CBmNMe7csE8NeEX6lVMF7Dh0a1YKQa6hUN18bBuYgTMuT
QzMmZpRpIBB321ZBlcnlxiTJvWxvbCPHKHj20VwwAz7LONF59s84ZsOqfoBv8gKM
s0s5dsq5zpLeaw==
——END CERTIFICATE——

Также вы можете загрузить сертификат с Cloudflare по этой ссылке.

Скопируйте этот сертификат.

Откройте файл /etc/ssl/certs/cloudflare.crt, где хранится сертификат Cloudflare.

sudo nano /etc/ssl/certs/cloudflare.crt

Вставьте следующий сертификат в файл. Сохраните и закройте его.

Теперь обновите конфигурацию Nginx, чтобы настроить поддержку TLS Authenticated Origin Pulls. Откройте конфигурационный файл своего домена:

sudo nano /etc/nginx/sites-available/example.com

Добавьте директивы ssl_client_certificate и ssl_verify_client, как показано в следующем примере:

. . .
server <
# SSL configuration
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_client_certificate /etc/ssl/certs/cloudflare.crt ;
ssl_verify_client on;
. . .

Сохраните файл и закройте редактор.

Убедитесь, что в конфигурациях Nginx нет ошибок:

Если проблем не обнаружено, перезапустите Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Наконец, чтобы включить Authenticated Pulls, откройте раздел Crypto в панели Cloudflare и включите опцию Authenticated Origin Pulls.

Теперь посетите свой сайт, чтобы убедиться, что он настроен правильно. Как и прежде, вы увидите свою домашнюю страницу.

Чтобы убедиться, что сервер будет принимать запросы через CA Cloudflare, попробуйте отключить Authenticated Origin Pulls, а затем перезагрузить сайт. Появится следующее сообщение об ошибке:

400 Bad Request
No required SSL certificate was sent

Сервер вернет ошибку, если запрос не подписан Cloudflare’s CA.

Протестировав настройку, вернитесь в раздел Crypto и снова включите Authenticated Origin Pulls.

Заключение

В этом мануале вы научились включать поддержку шифрования трафика между Cloudflare и сервером Nginx, используя сертификат CA Origin от Cloudflare, а также настраивать Authenticated Origin Pulls на сервере Nginx. Теперь сервер принимает запросы только от серверов Cloudflare, не позволяя кому-либо подключаться напрямую.

Update health check frequency

By default, Cloudflare servers send health checks to each GRE, CNI, or IPsec tunnel endpoint you configure to receive traffic from Magic Transit and Magic WAN. You can configure this frequency via the API API link label

Open API docs link to suit your use case. For example, if you are connecting a lower-traffic site for which you do not need immediate failover and would rather receive a lower volume of health check traffic, you should set the frequency to low . On the other hand, if you are connecting a site that is extremely sensitive to any issues, and you want a more proactive failover at the earliest sign of a potential problem, you should set this to high .

Available options are low , mid , and high .

  1. Refer to Add tunnels to learn how to create or edit your tunnel.
  2. Change the Health check rate to your desired rate. For example, Low.
  3. Save your changes.

You can adjust the health check frequency by updating your GRE API link label

Below is an example of how to adjust tunnel health check frequency to low . Note that this command applies to GRE, IPsec and CNI tunnels:

​​ Check for tunnel health in the dashboard

The Cloudflare dashboard monitors the health of all Anycast tunnels on your account that route traffic from Cloudflare to your origin network.

The dashboard shows the global view of tunnel health as measured from all Cloudflare locations. If the tunnels are healthy on your side, you will see the majority of servers reporting an up status. It is normal for a subset of these locations to show tunnel status as degraded or unhealthy, since the Internet is not homogeneous and intermediary path issues between Cloudflare and your network can cause interruptions for specific paths.

Not all data centers will be relevant to you at all times. You can refer to the Average ingress traffic (last hour) column to understand if a given data center is receiving traffic for your network, and if its health status is relevant to you.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *