@e-hot

Как в Symfony2 в security правильно настроить работу с HTTPS?

Приветствую.
Описание ситуации: проект на VPS ( Ubuntu14.04 ) исходно делался как проект, работающий по протоколу http, впоследствии понадобилось перейти на https - на локальной машине для тестирования работы с этим протоколом https были сделаны все настройки - фронтенд работает нормально, но при тестировании работы бекэнда проекта возникли вопросы:
1. Сначала при авторизации при прежних настройках security ( как для http ), естественно страница авторизованного личного кабинета не вывелась, вручную к адресу project.local/account дописал https:// - получилось https://project.local/account и лич.каб отобразился.

2. Поискал инфу про настройки security применительно к https, а именно:
access_control:
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account, roles: ROLE_USER, requires_channel: https }
попробовал - не сработало

далее поюзал:
account:
pattern: /account
defaults: { _controller: AcmeAppBundle:Account:account }
schemes: [https]
попробовал - не сработало

3. Когда выхожу через /account/logout из лич.каба, который отображал вручную дописывая в адресе https, так же меня выкидывает на адрес project.local без отображения страницы, пришлось опять вручную дописывать https:// к project.local/account/logout и в этом случае меня уже удачно выкидывало на https://project.local

Вопрос: подскажите какие именно настройки надо курочить, чтобы вход в защищенную часть проекта и выход из нее при наличии протокола HTTPS происходили корректно. Заранее спасибо.
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 1
myrkoxx
@myrkoxx
developer
естественно страница авторизованного личного кабинета не вывелась, вручную к адресу project.local/account дописал https:// - получилось https://project.local/account


как по мне ето побольше к серверу. Вам надо настроить редирект с http на https если хотите работать только с https. В nginx ето делаеться так:

server {
    listen 80 default_server;
    server_name  YOURWEBSITE.com;

    return 301 https://$server_name$request_uri;
}
// дальше обычный конфиг:

server {
    listen 80;

    server_name YOURWEBSITE.com;
    // ....

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы