【摘要】 本文介绍使用华为云弹性负载均衡配置Http重定向到Https的方法。

1. HTTPHTTPS 头部标识

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 请求)

2. 弹性负载均衡配置

1. 创建负载均衡

1.  在负载均衡内创建HTTP:80端口监听器,后端云服务监听选择HTTP/8080端口,健康检查选择TCP协议(不能使用HTTP协议的健康检查)

3.在上一步骤创建的HTTP协议监听器下添加后端云服务器

4.在负载均衡内创建HTTPS:443端口监听器,后端云服务监听选择80端口,健康检查选择协议可以TCP也可以HTTP

5.在上一步骤创建HTTPS监听器下添加后端云服务器(可以和步骤3是同一批虚拟机)

6.一个ELB下两个监听器,分别监听HTTP:80和HTTPS:443,客户端访问HTTP:80会被重定向到HTTPS:443

后端Nginx服务器配置

假定用户需要访问网站 https://test.com 。开发者希望用户在浏览器中输入网址时,直接键入www.test.com 即可通过 HTTPS 协议安全访问。

此时用户输入的 www.test.com 请求转发流程如下:

1.  该请求以 HTTP 协议传输,通过弹性负载均衡提供的服务地址访问弹性负载均衡监听器的 80 端口,并被转发到后端云服务器的 8080 端口。

2.  通过在后端服务器的 nginx 上配置 rewrite 操作,该请求经过 8080 端口,并被重定向到 https://test.com 页面。

3.  此时浏览器再次发送 https://test.com 请求到相应的 HTTPS 站点,该请求通过弹性负载均衡提供的服务地址访问弹性负载均衡监听器的 443 端口,并被转发到后端云服务器的 80 端口。

至此,请求转发完成。

该操作在浏览器用户未感知的情况下,将用户的 HTTP 请求重写为更加安全的 HTTPS 请求。为实现以上请求转发操作,用户可以对后端Nginx服务器做如下配置:

server {listen 8080;server_name test.com;rewrite ^/.(.*) https://$host/$1 redirect;}

或者采用推荐的301重定向配置方法,将nginx http页面重定向到https页面:

server {listen      8080;server_name    test.com;return      301 https://$server_name$request_uri;}

作者:樱桃小丸子

【华为云网络技术分享】HTTP重定向HTTPS配置指南相关推荐

  1. 线下沙龙 | 5月11日 ,百度智能云网络技术实践分享强势来袭!

    云计算经过了十余年的发展,逐渐成为了我们个人和商业生活中不可或缺的组成部分.早期,云技术只是一个新鲜的词汇,而如今,随着全球云计算领域的活跃创新和我国云计算发展进入应用普及阶段,简单的云资源池之间的互 ...

  2. 网络服务家族图谱:一张图带您了解华为云网络服务大家族!【华为云分享】

    华为云网络服务大家族提供了丰富的云产品,满足您的各种网络互联需求.通过网络服务家族图谱可以总览华为云网络服务在网络互联中的作用与优势,快速了解华为云网络服务. 更多详情请参见传送门

  3. 华为云网络覆盖全球2500+站点,打造高品质、低成本接入体验

    点击上方"LiveVideoStack"关注我们 9月23日,华为云举办了线上华为全联接大会,今年的全联接大会以"深耕数字化"为主题,探讨了各行各业如何通过打造 ...

  4. 华为云网络测量如何“悬丝诊脉”

    摘要:网络领域在IT技术里一直是复杂的,而网络故障发生频率往往较高,对业务影响也比较大. 本文分享自华为云社区<[华为云Stack][大架光临]第1期:华为云网络测量如何"悬丝诊脉&q ...

  5. 华为云专家招募-天津华为云EI技术私享会

    3月12日下午由淘客科技举办的华为云EI天津地区技术私享会在赛象酒店举行,天津软协秘书长王森.软件与技术服务业商会秘书长李二虎.华为天津办事处华为云主管李成及渠道团队以及受邀的20多家企业代表30多人 ...

  6. 【华为云专家技术公开课】7月4日直播,报名观看赢取好礼

    [导语]新手大咖齐相聚,畅谈云端新科技.2019年7月4日,华为云专家技术公开课直播将在云视界进行线上直播,本期华为云MVP.敏捷创新教练王立杰将就<敏捷项目管理的关键点>进行深入讲解,让 ...

  7. 华为最新全系列交换机命令手册、配置指南下载

    华为最新全系列交换机命令手册.配置指南下载 最近经常有午饭上来求华为交换机的命令手册.特别是S9300系列华为是不对普通用户提供下载的.为方便广大午饭小侠特下载和整理了华为最新全系列交换机命令手册.配 ...

  8. 性能达到原生MySQL七倍,华为云Taurus技术解读

    近日,华为云自研关系型数据库Taurus公开亮相.作为华为云自研的最新一代云原生分布式数据库,Taurus完全兼容 MySQL 8.0,采用计算与存储分离.日志即数据的架构设计,支持1写15读,性能达 ...

  9. 道里云SDN云网络技术:使云能够“众筹”

     容器云来了! 容器云的网络规模将比虚拟机云的情况扩大10-100倍,容器云与虚拟机云互联需求也将使云网络管控复杂度成数倍增长.SDN业界迎来了空前挑战.本报告分享道里云公司SDN技术:怎样将云的 ...

最新文章

  1. 有符号二进制数的乘法
  2. 编程之美2.2 不要被阶乘吓倒
  3. San CLI 4.0 升级指南
  4. python +Django 搭建web开发环境初步,显示当前时间
  5. leetcode 530. 二叉搜索树的最小绝对差(Java版)
  6. Dubbo to Mesh 云原生架构改造方案解析
  7. java 去除html中img_JAVA去除HTML标签
  8. 判断输入的字符与已知字符相等_你会输入带圈字符吗?
  9. 数据恢复原来是可以免费的!
  10. 4173: 数学 欧拉函数 思路题
  11. AQS抽象队列同步器
  12. Reflect的理解
  13. 永恒都市3服务器一直维护,感恩有你 《永恒都市3》删档二测已于昨日完美谢幕...
  14. JavaScript刷LeetCode拿offer-贪心算法
  15. Android课题研究的主要观点,课题研究的主要内容
  16. 如何看待华文的《二十岁无资本无未来》?
  17. 如何优雅的使用markdown来写博客
  18. 傻瓜式linux下安装Chrome和chromedriver
  19. 记录yolov5更改backbone为ShuffleBlock网络迁移训练出错问题以及解决方法
  20. Unity3d 技巧(3)-如何在自己的程序中 Shader.Find 到自己写的shader

热门文章

  1. php mysql数据库同步_实现MySQL数据库同步实例演示_MySQL
  2. .NET垃圾回收机制 转
  3. 2019-05-22 防范ASP木马;如何防止注入攻击;
  4. mysql引擎和事务
  5. Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围...
  6. S7-300/400 系统 Profibus DP 通讯故障诊断实用方
  7. NYOJ-571 整数划分(三)
  8. 2011东北地区赛G题(二分-网络流判可行性)
  9. 我的世界基岩版json_Minecraft 基岩版 Ubuntu服务器搭建(三)
  10. enumerate在python中是什么意思_python中enumerate什么意思