如何强制HTTPS或HTTP为不同的url
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.4,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何强制HTTPS或HTTP为不同的url
您可以在安全配置中强制站点的某些区域使用HTTPS协议。这是通过access_control
规则使用requires_channel
选择。例如,如果您希望强制所有url以/安全
要使用HTTPS,那么您可以使用以下配置:
- YAML
- XML
- PHP
1 2 3 4 5 6
# app / config / security.yml安全:#……access_control:-{路径:' ^ /安全',角色:ROLE_ADMIN,requires_channel:https}
登录表单本身需要允许匿名访问,否则用户将无法进行身份验证。强制它使用HTTPS,您仍然可以使用access_control
规则,使用IS_AUTHENTICATED_ANONYMOUSLY
角色:
- YAML
- XML
- PHP
1 2 3 4 5 6
# app / config / security.yml安全:#……access_control:-{路径:“^ /登录”,角色:IS_AUTHENTICATED_ANONYMOUSLY,requires_channel:https}
也可以在路由配置中指定使用HTTPS,请参见如何强制路由始终使用HTTPS或HTTP欲知详情。
请注意
在使用反向代理或负载均衡器时强制使用HTTPS需要适当的配置,以避免无限重定向循环;看到如何配置Symfony在负载均衡器欧宝娱乐app下载地址或反向代理后工作欲知详情。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。