小编Muh*_*eed的帖子

删除未使用的HTTP处理程序以获得更好的性能和安全性

我在哪里可以获得所有默认IIS HTTP处理程序的列表?我需要文件!! 我已经阅读了一些博客,建议删除数十个未使用的HTTP处理程序,以提高性能和安全性.

例如,建议删除TraceHandler-Integrated和TraceHandler-Integrated-4.0,否则导航到/trace.axd会导致500内部服务器错误而不是404 Not Found,并且您不应该在生产环境中进行跟踪.

GitHub项目(现已删除)建议从您的站点删除的一些HTTP处理程序:

<system.webServer>
  <handlers>
    <remove name="TraceHandler-Integrated-4.0" />
    <remove name="TraceHandler-Integrated" />
    <remove name="AssemblyResourceLoader-Integrated-4.0" />
    <remove name="AssemblyResourceLoader-Integrated" />
    <remove name="WebAdminHandler-Integrated-4.0" />
    <remove name="WebAdminHandler-Integrated" />
    <remove name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" />
    <remove name="svc-ISAPI-4.0_32bit" />
    <remove name="ScriptHandlerFactoryAppServices-Integrated-4.0" />
    <remove name="ScriptResourceIntegrated-4.0" />
    <remove name="svc-ISAPI-4.0_64bit" />
    <remove name="svc-Integrated-4.0" />
    <remove name="vbhtm-ISAPI-4.0_32bit" />
    <remove name="vbhtm-ISAPI-4.0_64bit" />
    <remove name="vbhtm-Integrated-4.0" />
    <remove name="vbhtml-ISAPI-4.0_32bit" />
    <remove name="vbhtml-ISAPI-4.0_64bit" />
    <remove name="vbhtml-Integrated-4.0" />
    <remove name="xamlx-ISAPI-4.0_32bit" />
    <remove name="xamlx-ISAPI-4.0_64bit" />
    <remove name="xamlx-Integrated-4.0" />
    <remove name="xoml-ISAPI-4.0_32bit" />
    <remove …
Run Code Online (Sandbox Code Playgroud)

asp.net security iis performance httphandler

8
推荐指数
2
解决办法
7707
查看次数

在测试项目中使用ASP.NET Core的ConfigurationBuilder

我想在我的功能测试项目中使用IHostingEnvironmentConfigurationBuilder,因此根据环境,功能测试使用不同的配置集运行.我想使用下面的代码:

public IConfigurationRoot ConfigureConfiguration(IHostingEnvironment hostingEnvironment)
{
    var builder = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json")
        .AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", true)
        .AddEnvironmentVariables();
    return builder.Build();
}
Run Code Online (Sandbox Code Playgroud)

我希望有一个appSettings.jsonappSettings.Production.json文件来指出我的功能测试在生产中.这可能吗?如何实现?我需要一个实例IHostingEnvironment.

.net c# asp.net-core-mvc asp.net-core

8
推荐指数
1
解决办法
1万
查看次数

在Azure AKS中使用Kubernetes Ingress的优点是什么?

我的理解是,设置Service类型以LoadBalancer创建新的Azure负载均衡器并为其分配IP地址Service.这是否意味着我可以使用端口80拥有多个服务?如果我的Service(一个ASP.NET核心应用程序)后面的应用程序可以处理TLS和HTTPS,为什么我不应该只使用LoadBalancer's Service我想要暴露给互联网?

使用Ingressif有什么好处我不关心TLS终止(你可以让Cloudflare处理TLS终止)?如果有的话,它会通过为每个请求添加额外的跃点来减慢速度.

更新

下面的一些答案提到创建负载平衡器的成本很高.应该注意的是,Azure上的负载均衡器是免费的,但是他们会为IP地址收取费用,他们会免费为您提供5个IP地址.因此,对于您希望公开最多五个IP地址的小型项目,它基本上是免费的.除此之外,你可能想看看广告Ingress.

如果您不使用,一些答案也会提到额外的复杂性Ingress.我已经提到Cloudflare可以为我处理TLS终止.我还发现了external-dnsKubernetes项目在Cloudflare中创建指向负载均衡器IP地址的DNS条目?在我看来,切割Ingress降低了复杂性,因为我不得不配置和管理.Ingress的选择也是巨大的,我可能会选择一个错误的选项,这会在一段时间后无法维护.

azure kubernetes azure-kubernetes kubernetes-ingress azure-aks

8
推荐指数
2
解决办法
671
查看次数

ASP MVC 3 RequireHttps属性将所有链接更改为https

我有一个ASP MVC 3网站,它有一个反馈表,应该要求SSL.

现在,我在名为"ContactUs"的控制器中有一个名为Feedback的操作,负责查看和处理反馈.

当我[RequireHttps]在该操作上使用该属性时,它运行良好,并将URL更改为"https".但是,我注意到我页面中的所有链接现在都指向"https"!好像这个属性迫使路由引擎将相同的内容应用到所有链接!

当然,只有这个单一动作才需要SSL,其余所有动作都需要正常的http.

谁能告诉我如何解决这个问题?

asp.net-mvc actionlink hyperlink requirehttps

7
推荐指数
1
解决办法
7271
查看次数

使用证书的Azure Active Directory守护程序客户端

我一直在使用GitHub上Azure Active Directory的证书示例查看守护程序应用程序中的Azure AD官方身份验证.Web API服务似乎不了解客户端.

  1. 您不会被告知登录Azure并使用"对其他应用程序的权限"部分为守护程序客户端添加访问Web API的权限.
  2. Web API控制器操作不检查调用方的声明以确保它是客户端应用程序.它确实有这个代码,但我并不完全理解:
public IEnumerable Get()
{
    //
    // The Scope claim tells you what permissions the client application has in the service.
    // In this case we look for a scope value of user_impersonation, or full access to the service as the user.
    //
    Claim scopeClaim = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/scope");
    if (scopeClaim != null)
    {
        if (scopeClaim.Value != "user_impersonation")
        {
            throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.Unauthorized, ReasonPhrase …

azure azure-active-directory

7
推荐指数
1
解决办法
1073
查看次数

GraphQL是否否定了对图形数据库的需求

使用图形数据库的大多数原因似乎是关系数据库在进行图形查询时很慢.

但是,如果我将GraphQL与数据加载器一起使用,那么我的所有查询都会使用数据加载器进行展平和组合,因此您最终会进行更简单的SELECT * FROM X类型查询,而不是进行任何繁重的连接.我甚至可能使用No-SQL数据库,这种数据通常在这些平面查询中非常快.

如果是这种情况,当与GraphQL结合使用时,是否还有Graph数据库的用例?Neo4j似乎正在推广 GraphQL.我想了解其中的优势.

relational-database neo4j graph-databases graphql

7
推荐指数
2
解决办法
1920
查看次数

降级健康检查的HTTP状态代码应该是什么?

我有一个运行状况检查端点/status返回以下状态代码和响应正文:

  • 健康 - 200 OK
  • 退化 - ?
  • 不健康 - 503 Service Unnavailable

HTTP状态代码对于降级响应应该是什么?"降级"检查用于成功但速度缓慢或不稳定的检查.什么HTTP状态代码最有意义?

http health-monitoring http-status-codes http-status-code-503 kubernetes-health-check

7
推荐指数
1
解决办法
1203
查看次数

如何在Kubernetes中修补ConfigMap

Kubernetes附带一个ConfigMap名为coredns可以让你指定的DNS设置。我想通过添加以下内容来修改或修补此配置的一小部分:

apiVersion: v1
kind: ConfigMap
data:
  upstreamNameservers: |
    ["1.1.1.1", "1.0.0.1"]
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用kubectrl edit来编辑coredns ConfigMap上面的文件,该文件仅包含我要插入或更新的设置,并且可以将其合并到现有文件之上或在现有文件上打补丁ConfigMap吗?

原因是我希望使用CI / CD可重复进行部署。因此,即使我在全新的Kubernetes集群上运行了Helm图表,也将应用上面的设置。

patch kubernetes coredns configmap

7
推荐指数
3
解决办法
5407
查看次数

我真的需要在 .gitattributes 中指定所有二进制文件吗

我已经阅读了Git 文档,该文档表明我可以明确地将某些文件设置为文本,因此它们的行尾会自动更改或作为二进制文件以确保它们不变。

但是,我也读到 Git 非常擅长检测二进制文件,这让我觉得这不是必需的。所以我的问题是我真的需要为存储库中的每个文件扩展名指定这些显式设置吗?我已经看到一些建议为所有图像文件扩展名这样做。

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
Run Code Online (Sandbox Code Playgroud)

git newline lf core.autocrlf

7
推荐指数
1
解决办法
1147
查看次数

如何在 CI 服务器上安装 dotnet dev-certs 证书

我想使用 运行我的 API dotnet run,所以我可以针对它运行一些测试。但是,在 Azure Pipelines 和 AppVeyor 上,它们没有安装开发人员证书,当我尝试启动 API 时出现错误。安装开发人员证书涉及运行:

dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)

但是,这会显示一个用户必须单击的对话框,这将导致构建失败。如何在 CI 服务器上安装开发者证书?

.net certificate dotnet-cli azure-pipelines dotnet-dev-certs

7
推荐指数
1
解决办法
1749
查看次数