Для настройки 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.