首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法通过http获取steeltoe health执行器终结点

无法通过http获取steeltoe health执行器终结点
EN

Stack Overflow用户
提问于 2019-04-09 23:37:48
回答 1查看 1.6K关注 0票数 1

我已经阅读了发布说明https://steeltoe.io/reference/reference-release-notes/#2-2-0,并且有兴趣通过http公开/health端点(我指的是在PCF Apps manager之外)。我在appsettings.json中有以下设置

代码语言:javascript
复制
{
   "management": {
    "endpoints": {
      "path": "/cloudfoundryapplication",
      "cloudfoundry": {
        "validateCertificates": false
      },
      "health": {
        "showdetails": "always",
        "claim": {
          "type": "health_actuator",
          "value": "see_details"
        }
      }
    }
  } 
}

我的项目引用了Steeltoe.Management.CloudFoundryCore V2.2.0,我的启动如下所示

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
        {
             // Add health actuator
            services.AddHealthActuator(configuration);
            services.AddCloudFoundryActuators(Configuration);
        }

public void Configure(IApplicationBuilder app) 

        {
            if (HostingEnvironment.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCloudFoundryActuators();          

            app.UseHealthChecks();
            app.UseMvc();
        }

现在,当我试图调用url时,我得到了一个401错误,说{"security_error":"Authorization header is missing or invalid"}。知道这里可能出了什么问题。

EN

回答 1

Stack Overflow用户

发布于 2019-04-10 01:41:15

以下是在cloudfoundry中运行时在应用程序管理器之外访问健康端点所需的步骤:

  1. 请勿设置management:endpoints:path或将其设置为/cloudfoundryapplication以外的任何值。默认情况下,您的外部端点将在/actuator/**下可用。例如,您可以将其设置为管理(只是不是cloudfoundryapplication,因为apps man使用该路由,并且它是安全的)。
  2. 像这样添加您的执行器:services.AddCloudFoundryActuators(Configuration, MediaTypeVersion.V2, ActuatorContext.ActuatorAndCloudFoundry);这包括健康执行器,因此您不需要另一个AddHealthActuator
  3. 使用执行器:

app.UseCloudFoundryActuators( MediaTypeVersion.V2, ActuatorContext.ActuatorAndCloudFoundry);

  • To保护它,您可以添加此配置,"claim": { "type": "health_actuator", "value": "see_details" }

..。您需要在您的请求中提供这些信息。但看起来你不是。此配置是保护端点安全的一种方法。要在没有安全性的情况下查看它,您可以删除配置的该部分。另外,默认设置是show details,因此您可以完全删除"health“下的配置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55596494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档