JBoss WildFly 서버에서 오류 403의 원인을 어떻게 식별합니까?

JBoss WildFly 서버에서 오류 403의 원인을 어떻게 식별합니까?

우리는 JBoss WildFly에서 AngularJS 애플리케이션을 실행하고 있습니다. 테스트 환경과 프로덕션 환경 모두에서 잘 작동했습니다. 그런데 현재 프로덕션 환경에서 이상한 오류 403 문제가 발생하고 있습니다.

사용자는 REST 요청으로 데이터를 로드할 수 있습니다. 한 사이트에서는 필터 옵션을 저장하도록 쿠키가 설정됩니다. 쿠키가 설정되면 모든 후속 요청이 실패하고 오류 403(금지됨)이 표시됩니다.

로컬 및 원격 테스트 서버에서는 이 문제가 존재하지 않습니다. 프로덕션에서도 작동했지만 뭔가 변경된 것 같습니다. 이는 모든 브라우저와 모든 사용자에게 발생하므로 IT 부서에서 서버 구성을 변경한 것으로 추정됩니다. 그러나 문제의 근본 원인을 파악할 수 없습니다.

서버는 다음 헤더로 응답합니다.

Server: Apache
X-Powered-By: Undertow/1

하지만 우리가 JBoss WildFly를 실행하고 있다는 것을 알고 있습니다. JBoss 로그나 브라우저의 개발자 콘솔에는 유용한 항목이 없습니다. 저는 서버 인프라를 관리하지 않지만 이 문제를 긴급하게 해결해야 합니다.

내 질문은 다음과 같습니다

  1. JBoss는 웹 서버에 대한 요청을 어디에 기록합니까? 추가 접속 로그 파일이 있나요( /var/log/apache2/error.log존재하지 않음)?

  2. 헤더에서 서버가 Apache라고 주장하는 이유는 무엇입니까? standalone.xmlJBoss 파일은 "WildFly/9"를 설정합니다 . 그 사이에 요청을 처리하는 다른 서버가 있습니까? 어떻게 알 수 있나요?

  3. JBoss나 Apache는 그러한 오류의 원인을 전혀 기록합니까? 로그 수준을 높여야 합니까?

쿠키를 삭제하면 사이트가 정상적으로 돌아옵니다. 이전에 작동했으므로 이는 작은 구성 문제일 뿐이라고 확신하지만 지금은 이를 파악할 수 없습니다. 어떤 힌트라도 대단히 감사하겠습니다.

답변1

standalone.xml하위 시스템 에 이 블록을 추가합니다 urn:jboss:domain:logging:3.0.

<logger category="org.jboss.security">
  <level name="TRACE"/>
</logger>

서버를 다시 시작하면 새 구성이 선택됩니다.

이제 상호 작용을 수행하여 오류 403을 발생시킵니다. 이제 더 자세한 정보가 파일에 기록됩니다 server.log. 이는 적어도 문제의 근본 원인에 대한 세부 정보를 얻는 데 도움이 되었습니다. Active Directory의 역할 매핑이 실패한 것 같습니다. 그래도 아직 더 조사해야 합니다.

하지만 위에서 설명한 대로 최소한 로그 수준을 높이면 디버깅에 도움이 되었습니다.

관련 정보