Search code examples
phpartifactory

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)

Solution

  • 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/