Для настройки Symfony проекта для использования CloudFlare, вам необходимо выполнить следующие шаги:
- Зарегистрируйтесь в CloudFlare и добавьте ваш домен в аккаунт.
- После успешной регистрации и добавления домена, вам будет предоставлен CNAME-запись, которая нацеливает ваш домен на серверы CloudFlare. Запишите данный CNAME-запись, так как он понадобится в последующих шагах.
- В Symfony проекте откройте файл
config/packages/framework.yaml
и установите следующее значение в параметреtrusted_proxies
:
framework: # ... trusted_proxies: [ "%env(CLIENT_IP)%", "%env(CLIENT_IP_FORWARDED_FOR)%" ]
- Создайте новый файл
.env.local
, если его еще нет. Внутри этого файла добавьте следующие строки:
# .env.local # Замените YOUR_CLOUDFLARE_DOMAIN на ваш домен, зарегистрированный в CloudFlare TRUSTED_PROXIES=YOUR_CLOUDFLARE_DOMAIN
- Теперь необходимо обновить файл конфигурации 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; # ... }
- После обновления файлов конфигурации Symfony и сервера, перезапустите сервер, чтобы изменения вступили в силу.
Теперь ваш Symfony проект настроен для использования CloudFlare. CloudFlare будет проксировать весь веб-трафик на ваш сервер Symfony, а Symfony будет использовать правильные IP-адреса и протоколы, переданные CloudFlare.