Artifactory Deploy Error: HTTP Status 500 – more than one filter accepted this request

NOTE: This is a Q&A added to share information

This error comes up when you try to push to a local php repository on artifactory

The server encountered an internal error that prevented it from fulfilling this request.

java.lang.RuntimeException: more than one filter accepted this request
    org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.acceptFilter(ArtifactoryAuthenticationFilterChain.java:115)
    org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:187)
    org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:165)
    org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:67)
    org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:164)
    org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:80)
    org.artifactory.webapp.servlet.SessionFilter.doFilter(SessionFilter.java:62)
    org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:116)

Answer

In my case the issue was that I was using both the generated token and a header specifying the token in the request.

Example:

curl -H "X-JFrog-Art-Api: <token>" http://<user_id>:<token>@docker.for.mac.localhost/artifactory/php-local/

The fix was to remove the custom header. i.e use only

curl http://<user_id>:<token>@docker.for.mac.localhost/artifactory/php-local/

Leave a Reply

Your email address will not be published. Required fields are marked *