[ 
https://issues.apache.org/jira/browse/SOLR-14216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17041674#comment-17041674
 ] 

Jan Høydahl commented on SOLR-14216:
------------------------------------

The issue with health checks is that there is a multitude of load balancers, 
monitoring solutions etc that need to act on a node's health, but do not 
support all of Solr's auth schemes. It *is* possible to configure security.json 
for it but that is not documented and quite hard to get right.

Currently we skip auth for static content and for /admin/info/key which serves 
the (dynamically generated) public key of a node. I guess you could point your 
Load Balancer to the key endpoint and use that as a health check as a 
workaround, but there is nothing secret about a nodes health, so it should per 
definition be public.

Could we add some interface {{implements OpenAccess}} that a Handler can 
implement and have Solr exclude both its v1 and v2 endpoint automatically?

> Exclude HealthCheck from authentication
> ---------------------------------------
>
>                 Key: SOLR-14216
>                 URL: https://issues.apache.org/jira/browse/SOLR-14216
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Authentication
>            Reporter: Jan Høydahl
>            Assignee: Jan Høydahl
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{HealthCheckHandler}} on {{/api/node/health}} and 
> {{/solr/admin/info/health}} should by default not be subject to 
> authentication, but be open for all. This allows for load balancers and 
> various monitoring to probe Solr's health without having to support the auth 
> scheme in place. I can't see any reason we need auth on the health endpoint.
> It is possible to achieve the same by setting blockUnknown=false and 
> configuring three RBAC permissions: One for v1 endpoint, one for v2 endpoint 
> and one "all" catch all at the end of the chain. But this is cumbersome so 
> better have this ootb.
> An alternative solution is to create a separate HttpServer for health check, 
> listening on a different port, just like embedded ZK and JMX.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to