Как настроить Symfony проект для использования CloudFlare?

Для настройки Symfony проекта для использования CloudFlare, вам необходимо выполнить следующие шаги:

1. Зарегистрируйтесь в CloudFlare и добавьте ваш домен в аккаунт.

2. После успешной регистрации и добавления домена, вам будет предоставлен CNAME-запись, которая нацеливает ваш домен на серверы CloudFlare. Запишите данный CNAME-запись, так как он понадобится в последующих шагах.

3. В Symfony проекте откройте файл config/packages/framework.yaml и установите следующее значение в параметре trusted_proxies:

framework:
    # ...
    trusted_proxies: [ "%env(CLIENT_IP)%", "%env(CLIENT_IP_FORWARDED_FOR)%" ]

4. Создайте новый файл .env.local, если его еще нет. Внутри этого файла добавьте следующие строки:

# .env.local

# Замените YOUR_CLOUDFLARE_DOMAIN на ваш домен, зарегистрированный в CloudFlare
TRUSTED_PROXIES=YOUR_CLOUDFLARE_DOMAIN

5. Теперь необходимо обновить файл конфигурации Nginx (или Apache, в зависимости от вашего сервера) для передачи заголовков X-Forwarded-For и X-Forwarded-Proto. В файле конфигурации Nginx добавьте следующие строки:

# /etc/nginx/conf.d/your_domain.conf

# ...

location / {
    # ...
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    # ...
}

6. После обновления файлов конфигурации Symfony и сервера, перезапустите сервер, чтобы изменения вступили в силу.

Теперь ваш Symfony проект настроен для использования CloudFlare. CloudFlare будет проксировать весь веб-трафик на ваш сервер Symfony, а Symfony будет использовать правильные IP-адреса и протоколы, переданные CloudFlare.