无法对 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)

2024-05-21

这样我终于能够成功创建一个https网站了。它只是运行模板 ASP.NET Web 项目。我有一个证书,并且该证书已添加到 AWS 中的 ELB(弹性负载均衡器 - 经典)中。我的环境可以浏览到https://www.mvc.cloudy-skies.org https://www.mvc.cloudy-skies.org而且它是安全的。棒极了!然而,仍然存在两个问题:

1 - 您仍然可以浏览到 http:// 并且它可以工作。不理想。 2 - 我通过 OWIN 中间件进行 Azure AD 身份验证。这效果很好,但尽管在登录后在重定向 URL 中指定了 HTTPS,我还是会被重定向回该网站的 HTTP 版本。

有人可以帮忙吗?我不知所措。这就是我在 Elastic Beanstalk 环境(负载均衡器)上配置侦听器的方式

enter image description here I have tried adding redirects into the Web.Config (e.g.)

<!--<rewrite>
<rules>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_X_FORWARDED_PROTO}" pattern="https" negate="true" />
    <add input="{REMOTE_HOST}" pattern="localhost" negate="true" />
    <add input="{REMOTE_ADDR}" pattern="127.0.0.1" negate="true" />
    <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>-->

但是,由于运行状况检查失败,这会导致 Elastic Beanstalk 部署在更新时失败。我什至尝试在解决方案的根目录中创建一个基本的 HTML 页面并使用它进行运行状况检查,但它仍然失败。在 web.config 中指定重定向的某些内容效果不佳。

强制用户遵守 HTTPS 真的很简单吗?


我发现最好添加一个 CloudFront 发行版,并设置“将 HTTP 重定向到 HTTPS”。 CloudFront 终止与您的证书的 TLS 会话,然后使用 http 与 Elastic Beanstalk 的 ELB 进行通信,但公共 Internet 用户会自动重定向到 HTTPS 终端节点。

这可以通过以下步骤来实现:

  1. 转到 CloudFront > 创建分配 > Web
  2. 选择ELB原点
  3. 选择查看器策略:将 HTTP 重定向到 HTTPS
  4. 选择基于标头的缓存:全部(这允许对每个用户进行缓存,尽管您可能希望稍后对其进行优化)
  5. 对象缓存:自定义(禁用默认缓存,稍后查看以优化)
  6. 输入最小、最大和默认 TTL 为 0
  7. Cookie 和 QueryString 全部
  8. 选择合适的价格档次,地区越少价格越便宜。
  9. 备用域名:添加您想要定向到此分发的所有域名
  10. 自定义 SSL 证书(这需要是 us-east-1 中的证书,其中包含上面输入的所有域名作为备用名称。
  11. 创建分配后,您需要更新 DNS CNAME 以指向为您提供的 ___.cloudfront.net 地址。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法对 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器) 的相关文章

  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • 使用 eb-cli 创建单实例 Elastic Beanstalk 应用程序

    所以我有一个带有适当 Procfile Buildfile 的 java 应用程序 我已在我们的临时 Elastic Beanstalk 环境中运行 eb create 但我必须进行手动配置更改以使其成为单一实例类型而不是负载平衡实例类型
  • 播放框架 [2.0] HTTPS

    我正在使用 Play Framework 2 0 开发一个 Web 服务器 其中登录是由我们也在制作的 Android 设备软件执行的 我们主要担心的是 我们在 play 2 0 中找不到任何对 HTTPS 的支持 感觉这是一个学校项目 我
  • 您可以克隆 AWS lambda 吗?

    针对不同环境的克隆 分期 QA PROD DEV 等 有没有一种快速简单的方法来克隆我的 lambda 给出不同的名称并从那里调整配置 您需要在新帐户中重新创建 Lambda 函数 转到 lambda 函数 单击 操作 并导出您的函数 下载
  • Terraform:如何附加服务器计数并将服务器分配给多个可用区?

    main tf resource aws instance service ami lookup var aws winamis var awsregion count var count key name var key name ins
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • S3.getSignedUrl 接受多种内容类型

    我正在使用react s3 uploader节点包 它接受一个signingUrl用于获取用于将对象存储到 S3 中的signedUrl 目前 我已经配置了一个 lambda 函数 带有 API 网关端点 来生成此signedUrl 经过一
  • 在describe-vpcs中按标签过滤的正确语法是什么?

    我试图理解 aws ec2 cli 调用 我希望描述所有 VPC 然后在自定义标记上描述文件管理器 vpcname myvpc 但是在尝试多种组合后 我不断收到有关 filters 的格式和使用的冲突错误 使用作为参考 http docs
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 为什么此 HTTP 请求在 AWS Lambda 上不起作用?

    我正在开始使用 AWS Lambda 并尝试从我的处理程序函数请求外部服务 根据这个答案 https stackoverflow com a 27932216 473467 HTTP 请求应该可以正常工作 而且我还没有找到任何其他说明的文档
  • 将 http 和 https 请求重定向到新主机

    在 Apache 2 4 6 中 我想重定向来自http A org foo and https A org foo to https B org foo 我正在使用以下指令
  • AWS Lambda。延迟调用

    我需要使用亚马逊工具构建 任务调度程序 主要问题是我需要执行一次任务 延迟很大 可能是几个小时或几周 我尝试研究如何使用 CloudWatch 和 Lambda 函数构建它 据我了解 我需要使用单独的规则来执行一次超时 但 AWS 只允许我
  • .htaccess 如果 URL 错误,请执行某些操作

    我正在做我的个人CMS http en wikipedia org wiki Content management system 我想在其中使用很酷 友好 的 URL 这是我的 htaccess 文件代码 RewriteEngine on
  • 无法更新 AWS S3 CORS 策略

    我需要更改我的 AWS S3 存储桶 CORS 策略才能将我的 ReactJS 文件上传到 AWS S3 但我不断收到此 API 响应 预期 params CORSConfiguration CORSRules 是一个数组 我现在很茫然 有
  • 正确的 aws cli 语法以在非默认 VPC 中查找 VPC 安全组

    这是来自的后续问题在describe vpcs中按标签过滤的正确语法是什么 https stackoverflow com questions 27057932 what is the correct syntax for filterin
  • 查询CloudSearch中字段是否存在

    假设我在 CloudSearch 中索引的文档列表中有一个名为 xyz 的可选字段 如何查询 CloudSearch 以使其仅返回包含 xyz 的文档 如果我预先知道它是一个正整数 我可能可以这样做来获取所需的列表 q xyz 0 q pa
  • 使用实例配置文件凭证的 AWS CLI

    在我的 EC2 实例中使用 AWS CLI 时 如何指定要使用实例配置文件凭证 文档说 Instance profile credentials these credentials can be used on EC2 instances
  • 未找到命令:Amazon Linux 2018.03 上的 systemctl

    我正在关注此 Amazon AWS 安装 SSL 证书指南 https docs aws amazon com AWSEC2 latest UserGuide SSL on an instance html 我使用 Amazon Linux
  • Squid+iptables:如何允许https通过并绕过Squid?

    今天基本上是从 Squid 和 iptables 开始的 google 是你的朋友 这东西会害死我的 我在 Ubuntu 9 04 服务器上设置了 Squid3 作为透明代理 当我使用代理盒作为我的默认网关等时 它工作得很好 此设置的 ip

随机推荐

  • groupingBy 之后对列表进行排序

    我想知道流 或收集器 中是否已经有一个已实现的功能 该功能已将列表排序为值 例如 以下代码都生成按性别分组的人员列表 并按年龄排序 第一个解决方案有一些开销排序 并且看起来有点邋遢 第二种解决方案需要对每个人进行两次检查 但效果很好 首先排
  • 如何将 SQL Server 中同一表中的一列插入到另一列中

    我需要将一列的数据插入到同一个表中的另一列中 谁能告诉我这个怎么写 Thanks UPDATE table SET col 2 col 1
  • Overflow:auto 导致子 DIV 的绝对元素消失

    我有一个 div A 我在其中设置了overflow auto 现在在该 div 内 我有两个 div 父 div B 设置为position relative和子 div C 是position absolute 现在的问题是 设置ove
  • 空指针和void指针有什么区别?

    有什么区别空指针 A空指针 空指针是一个特殊保留的value的一个指针 任何类型的指针都有这样的保留值 形式上 每个特定的指针类型 int char 等 有其自己专用的空指针值 从概念上讲 当指针具有空值时 它并不指向任何地方 空指针是一个
  • Django - 在基于类的视图中从另一个类方法调用一个类方法

    我在基于 django 类的视图中有一个方法 例如称为get player stats 我想从这个方法中调用同一个类中的另一个方法 但我无法这样做 代码如下 class ScoreView TemplateView def get play
  • 如何使用 form_for 将参数传递给控制器​​ ruby​​ on Rails

    我有一个用户模型和一个课程模型 用户登录后可以自己上传课程 但是 我希望管理员能够为用户上传 以防用户不够精明 我的想法是对用户上传和管理员上传使用相同的创建操作 并使用 if 语句 管理员将在用户 id视图页面中为他上传之前选择用户 然后
  • System.Web.HttpContext 无法识别

    我有一个带有 C Web 应用程序的 ASP NET 我创建的类之一需要使用 HttpContext 根据http msdn microsoft com en us library system web httpcontext v vs 9
  • Wiremock:如何匹配没有特定属性的 JSON 请求?

    我正在尝试模拟一个在 POST 中接受 JSON 正文的 API 调用 它有两种可能的响应 如果身体含有SearchCenter属性 回答 A 如果正文不包含SearchCenter 回答B In the 请求匹配 http wiremoc
  • Angular 5 将 ElementRef 转换回 Component

    是否可以投回ElementRef到一个组件 我有一种情况 我手里有nativeElement我需要将其转换为组件 看一下console log 我想提取name 我可以把它投回来吗 谢谢https stackblitz com edit a
  • 如何获取 ng-repeat 中的前一项?

    我有一个模板 仅当当前项目与前一个项目有一些不同的字段时 我才想生成一些 HTML 如何访问 ng repeat 中的前一项 你可以做类似的事情 div ul li div class title index content title c
  • 仅扫描 2.4Ghz 频段的 wifi 信号

    我需要扫描可用的 Wi Fi 信号及其强度 我在用着wifiManager startScan 和异步wifiManager getScanResult 在不支持 5GHz 频段的设备上 大约需要 500 毫秒才能获得结果 在支持 5GHz
  • 模块“node_modules/@angular/core/core”没有导出成员“OpaqueToken”

    node modules ionic cloud angular dist es5 index d ts 打字稿错误 模块 home ritzylab ionic code 20 11 munshiji247 ionic node modu
  • 在什么情况下 do-while 比 while 更高效?

    while 与 do while while 和 do while 在功能上是等效的当块为空时 虽然 while 看起来更自然 do while keepLooping while keepLooping 使用空块的 while do wh
  • IOCTL调用并检查返回值

    if err ioctl fd IOC CARD LOCK lock lt 0 printf ioctl failed and returned errno d n err 上面的代码是否正确并且是良好的编程习惯 它确实可以在我的电脑上编译
  • 将迭代器结果键入元组

    有没有办法指定迭代器的类型 以便接收者知道迭代器生成一个元组 这样我就可以做这样的事情 class Vector2 components number number Symbol iterator yield this components
  • 如何使用 Objective-C 协议

    我需要将 Picker 选择的值继承到其他地方 我正在尝试下面的代码 但空值即将到来 请检查我哪里出错了 我必须继承在中传递的字符串值PickerView 请检查代码 选取器1 h import
  • 查找 C# 列表中重复项的数量

    我在 C 中使用列表 代码如下 测试用例 cs public class TestCase private string scenarioID private string error public string ScenarioID ge
  • 加密安全随机数生成器如何工作?

    我了解标准随机数生成器的工作原理 但在使用密码学时 随机数确实必须是随机的 我知道有一些仪器可以读取宇宙白噪声 http en wikipedia org wiki Hardware random number generator帮助生成安
  • 是否可以通过 CSS 3 使用文本内容设置元素中文本的颜色?

    好吧 这更像是一个有很多非 CSS 解决方案的问题 但我希望更多地从理论角度来做这件事 我有一个它的应用程序 但不值得以任何其他方式对其进行编码 有趣的 问题 如何使用元素的文本为元素的文本着色 我有一个元素 全部都是它自己的 它将包含颜色
  • 无法对 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)

    这样我终于能够成功创建一个https网站了 它只是运行模板 ASP NET Web 项目 我有一个证书 并且该证书已添加到 AWS 中的 ELB 弹性负载均衡器 经典 中 我的环境可以浏览到https www mvc cloudy skie