Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Como forçar as rotas a usar sempre HTTPS ou HTTP

Às vezes, você deseja proteger algumas rotas e ter certeza de que elas serão sempre acessadas através do protocolo HTTPS. O componente de Roteamento permite que você aplique o esquema URI através da condição _scheme:

A configuração acima força a rota secure à sempre usar HTTPS.

Ao gerar a URL secure, e se o schema atual for HTTP, o Symfony irá gerar automaticamente uma URL absoluta com HTTPS como esquema:

# If the current scheme is HTTPS
{{ path('secure') }}
# generates /secure

# If the current scheme is HTTP
{{ path('secure') }}
# generates https://example.com/secure

A condição também é aplicada para as solicitações de entrada. Se você tentar acessar o caminho /secure com HTTP, você será automaticamente redirecionado para a mesma URL, mas com o esquema HTTPS.

O exemplo acima utiliza https para o _scheme, mas você também pode forçar uma URL à sempre utilizar http.

Note

O componente Security fornece outra forma de aplicar HTTP ou HTTPs através da configuração requires_channel. Este método alternativo é mais adequado para proteger uma “área” do seu site (todas as URLs sob o /admin) ou quando você quiser proteger URLs definidas em um bundle de terceiros.