Я развернул все приложение в Heroku, и оно работает абсолютно нормально.
< Strong>Единственная проблема:
Некоторые URL-маршруты генерируются по схеме «https», другие по схеме «http».
Явно: Ссылки на CrudControllers имеют «https», но некоторые запросы, которые обрабатываются через javascript, имеют «http».
Например, если я использую CrodController и определяю фильтр, этот URL-адрес фильтра (
Код: Выделить всё
...?crudAction=renderFilters ...Код: Выделить всё
http://my-app.herokuapp.com/admin?crudAction=renderFilters&crudControllerFqcn...
Что я пробовал до сих пор...
- Установите следующее в файле config/packages/routing.yaml ( и конфигурация/
Код: Выделить всё
parameters: router: request_context.scheme: https - Пытался изменить настройку в config/packages/security.yaml, описано здесь: https://symfony.com/ doc/current/security/force_https.html
- Пытался изменить config/routes.yaml на:Но это приводит только к тому, что приложение все время перенаправляется на один и тот же URL-адрес. Затем маршруты ломаются. (слишком много перенаправлений)
Код: Выделить всё
controllers: resource: path: ../src/Controller/ namespace: App\Controller type: attribute schemes: [https] # this last line is added
Так что я действительно застрял по этой проблеме.
Единственная идея, которая пришла мне в голову во время отладки, заключалась в следующем: создать патч для EasyAdmin Bundle, изменив следующий файл:
Код: Выделить всё
file: EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator
// line: 309 ...
$urlType = null !== $context && false === $context->getAbsoluteUrls() ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_URL;
// added line:
$this->urlGenerator->getContext()->setScheme('https');
$url = $this->urlGenerator->generate($this->dashboardRoute, $routeParameters, $urlType);
Подробнее здесь: https://stackoverflow.com/questions/791 ... min-bundle
Мобильная версия