Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除HTTPS-ASPNet Razor应用程序的要求_C#_.net_Amazon Web Services_Aws Fargate - Fatal编程技术网

C# 删除HTTPS-ASPNet Razor应用程序的要求

C# 删除HTTPS-ASPNet Razor应用程序的要求,c#,.net,amazon-web-services,aws-fargate,C#,.net,Amazon Web Services,Aws Fargate,问起来似乎很奇怪: 我刚接触.NET&C,发现自己正在为一个web应用程序开发Razor/Blazor项目 作为我学习的一部分,我一直在浏览现有的代码,并阅读不同的部分,以了解正在发生的事情,我已经设法通过了很多 我现在遇到的一个问题是对我的.NET Web应用程序进行对接 要明确的是,我已经能够在构建映像和运行容器方面实现Dockerize,没有任何问题,但我现在遇到的问题是,Web应用程序似乎配置为仅允许从HTTPS连接访问被视为授权访问的页面 如果我关闭HTTPS重定向等和登录,我会看到组

问起来似乎很奇怪:

我刚接触.NET&C,发现自己正在为一个web应用程序开发Razor/Blazor项目

作为我学习的一部分,我一直在浏览现有的代码,并阅读不同的部分,以了解正在发生的事情,我已经设法通过了很多

我现在遇到的一个问题是对我的.NET Web应用程序进行对接

要明确的是,我已经能够在构建映像和运行容器方面实现Dockerize,没有任何问题,但我现在遇到的问题是,Web应用程序似乎配置为仅允许从HTTPS连接访问被视为授权访问的页面

如果我关闭HTTPS重定向等和登录,我会看到组件说“对不起” 您无权访问此页面。“。如果我做了完全相同的事情,但在应用程序的HTTPS端口上,一切正常

由于我将把这个容器部署到AWS Fargate,并使用ALB+AWS证书来满足我的HTTPS需求,我一直在思考如何从根本上关闭阻止HTTP访问的任何东西。我的ALB将负责HTTPS的终止,所以我不希望使用无HTTPS

以下是我认为相关的一些代码:

//Statup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts(); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            }

            // app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapBlazorHub();
                endpoints.MapFallbackToPage("/_Host");
            });
        }

我确信有十几个重复项,但快速而肮脏的方法是创建一个在选项中关闭HTTPS的新项目,无论是在CLI还是项目向导中,并检查代码中的差异。至于HTTPS,您正在禁用HTTPS,因此ALB后面的所有内容都将易受攻击。在服务器网络上安装嗅探器并开始捕获HTTP调用或在容器中安装恶意代理要容易得多。HTTPS可防止MITM攻击。ALB确保防止从客户端到ALB的MITM,但没有任何东西保护您的服务之间的通信。目前我在这方面不太关心-这更重要,因此我可以将应用程序的现有版本迁移到Docker,并保持原样,同时我们正在进行重新构建,以便更恰当地处理这些问题。我的背景也是AWS,所以我对ALB和集装箱之间的保护措施很有信心。。。一旦它起作用:D