华为云ELB 共享性负载均衡:ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了 ELB 转发给后端 ECS 时,都是 HTTP 请求的解决方案
HTTP、HTTPS 头部标识
ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了 ELB 转发给后端 ECS 时,都是 HTTP 请求。这使开发者无法分辨前端的请求是 HTTP 还是 HTTPS。
ELB 在将请求转发给后端 ECS 时,头部 header 会植入 X-Forwarded-Proto:
X-Forwarded-Proto: http (前端为 HTTP 请求)
X-Forwarded-Proto: https (前端为 HTTPS 请求)
DEMO: 判断负载均衡转发的是http,还是https请求,使用同样的协议访问。
(IsHttps(filterContext) ? "https" : "http") + loginUrl.Substring(loginUrl.IndexOf(":"));
/// <summary>
/// 判断当前请求是否为https
/// </summary>
/// <param name="filterContext"></param>
/// <returns></returns>
private bool IsHttps(AuthorizationFilterContext filterContext)
{
var request = filterContext.HttpContext.Request;
if (request.IsHttps)
{
return true;
}
var httpsTag = "https";
if (httpsTag.Equals(request.Scheme, StringComparison.OrdinalIgnoreCase))
{
return true;
}
foreach (var item in request.Headers)
{
if ("X-Forwarded-Proto".Equals(item.Key, StringComparison.OrdinalIgnoreCase))
{
if (StringValues.Equals(httpsTag, item.Value))
{
return true;
}
else
{
return false;
}
}
}
return false;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2021-06-16 html,css,js,jquery
2021-06-16 数据库文件托管
2011-06-16 android 之MediaPlayer MP3播放,VideoView 视频播放,MediaRecorder 录音
2011-06-16 一培训机构设计的学习android课程内容:供大家参考