如何将CLB HTTP流量重定向至HTTPS

问题描述

在负载均衡 CLB 使用 http 和 https 监听器,如何将 http 流量转发至 https。

实现方式

CLB 无法配置 HTTP 流量重新导向 https,需要在 CLB 后端 Web 服务器实例配置重写规则。

也就是说,需要配置 X-Forwarded-Proto 头以及重写http 请求,避免 CLB 和后端 RS 之间重定向请求无限循环导致ERR_TOO_MANY_REDIRECTS 错误

以Nginx为例

1.请确认在 CLB 已经创建 HTTP 和 HTTPS 监听器

2.在后端RS上配置Nginx 如下

本次操作Nginx版本为1.20.1

[root@Nginx ~]# nginx -v 
nginx version: nginx/1.20.1

打开Nginx 配置文件nginx.conf  配置如下信息

$host  配置转发的域名
$request_uri 配置转发的URI

server {
    listen 80;
    server_name _;
    if ($http_x_forwarded_proto = 'http'){
    return 301 https://$host$request_uri;
    }
}

重启Nginx 或者 reload 加载配置文件

[root@nginx ~]# nginx -s  reload 
[root@nginx ~]# systemctl restart nginx

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论