Symfony 4 — {{ app.request.getSchemeAndHttpHost() }} выдает http при https?

Symfony 4 предоставляет различные методы и инструменты для работы с HTTP-запросами, включая получение схемы и хоста HTTP-запроса.

Метод app.request.getSchemeAndHttpHost() используется для получения полного URL-адреса HTTP-запроса, включая схему (протокол, такой как HTTP или HTTPS) и хост (имя домена).

Однако, если ваше приложение настроено неправильно, может возникнуть ситуация, когда метод getSchemeAndHttpHost() всегда возвращает "http", даже если запрос был выполнен через HTTPS.

Такая ситуация может возникнуть по нескольким причинам. Вот несколько возможных причин и способы их решения:

1. Прокси. Если ваше приложение находится за прокси-сервером, вам может потребоваться настроить Symfony таким образом, чтобы он учитывал прокси-сервер и передавал правильные заголовки, чтобы получить правильную схему и хост.

2. Неправильная настройка сервера. Введите в адресной строке браузера следующий URL-адрес: https://ваш_хост/.well-known/security.txt. Здесь "ваш_хост" замените на фактический хост вашего приложения. Если вы получаете ошибку или не видите ожидаемого файла, это может указывать на неправильную конфигурацию вашего сервера.

3. Проблема с настройкой HTTPS на стороне вашего хостинг-провайдера. Если ваш хостинг-провайдер некорректно настроен для обработки HTTPS-запросов, это может привести к некорректной схеме в HTTP-запросах. В этом случае вам следует связаться с вашим хостинг-провайдером для уточнения следующих настроек.

4. Неправильная настройка Symfony. Убедитесь, что ваше приложение Symfony правильно настроено для работы с HTTPS. Убедитесь, что ваши настройки окружения (например, .env файл) содержат правильные настройки для URL-адреса приложения, включая правильную схему и хост.

5. Ошибка в конфигурации. Проверьте файлы конфигурации вашего приложения Symfony (например, config/packages/framework.yaml), чтобы убедиться, что там не указана неправильная схема или хост.

6. Кэширование. Если вы вносили изменения в настройки своего приложения Symfony, убедитесь, что вы очистили кэш Symfony, чтобы изменения вступили в силу.

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