1.4. 브로커 구성 파일 모듈화


공통 구성 설정을 공유하는 브로커가 여러 개 있는 경우 별도의 파일에 공통 구성을 정의한 다음 각 브로커의 broker.xml 구성 파일에 이러한 파일을 포함할 수 있습니다.

브로커 간에 공유할 수 있는 가장 일반적인 구성 설정은 다음과 같습니다.

  • 주소
  • 주소 설정
  • 보안 설정

프로세스

  1. 공유하려는 각 broker.xml 섹션에 대해 별도의 XML 파일을 생성합니다.

    각 XML 파일은 broker.xml 의 단일 섹션(예: 주소 또는 주소 설정 중 하나)만 포함할 수 있습니다. 최상위 요소도 요소 네임스페이스(xmlns="urn:activemq:core")를 정의해야 합니다.

    이 예제에서는 my-security-settings.xml:에 정의된 보안 설정 구성을 보여줍니다.

    my-security-settings.xml

    <security-settings xmlns="urn:activemq:core">
       <security-setting match="a1">
          <permission type="createNonDurableQueue" roles="a1.1"/>
       </security-setting>
       <security-setting match="a2">
          <permission type="deleteNonDurableQueue" roles="a2.1"/>
       </security-setting>
    </security-settings>

  2. 공통 구성 설정을 사용해야 하는 각 브로커에 대해 < broker_instance_dir> /etc/broker.xml 구성 파일을 엽니다.
  3. 열린 각 broker.xml 파일에 대해 다음을 수행합니다.

    1. broker.xml 시작 시 <configuration> 요소에서 다음 행이 표시되는지 확인합니다.

      xmlns:xi="http://www.w3.org/2001/XInclude"
    2. 공유 구성 설정이 포함된 각 XML 파일에 대한 XML 포함을 추가합니다.

      이 예제에는 my-security-settings.xml 파일이 포함되어 있습니다.

      broker.xml

      <configuration ...>
          <core ...>
              ...
              <xi:include href="/opt/my-broker-config/my-security-settings.xml"/>
              ...
          </core>
      </configuration>

    3. 필요한 경우 broker.xml 의 유효성을 검사하고 XML이 스키마에 대해 유효한지 확인합니다.

      모든 XML 검증기 프로그램을 사용할 수 있습니다. 이 예에서는 xmllint 를 사용하여 artemis-server.xsl 스키마에 대해 broker.xml 의 유효성을 검사합니다.

      $ xmllint --noout --xinclude --schema /opt/redhat/amq-broker/amq-broker-7.2.0/schema/artemis-server.xsd /var/opt/amq-broker/mybroker/etc/broker.xml
      /var/opt/amq-broker/mybroker/etc/broker.xml validates

추가 리소스

1.4.1. 모듈식 구성 파일 다시 로드

브로커가 구성 변경 사항을 주기적으로 확인할 때( 구성-file-refresh-period에 지정된 빈도에 따라) xi:include 를 통해 broker.xml 구성 파일에 포함된 구성 파일에 대한 변경 사항을 자동으로 감지 하지 않습니다. 예를 들어 broker.xmlmy-address-settings.xml 이 포함되어 있고 my-address-settings.xml 에 대한 구성을 변경한 경우 브로커는 my-address-settings.xml 의 변경 사항을 자동으로 탐지하지 않고 구성을 다시 로드합니다.

broker.xml 구성 파일과 그 내에 포함된 수정된 구성 파일을 강제로 다시 로드하려면 broker.xml 구성 파일의 "마지막 수정" 타임 스탬프가 변경되었는지 확인해야 합니다. 표준 Linux touch 명령을 사용하여 다른 변경 없이 broker.xml 의 마지막 수정 타임스탬프를 업데이트할 수 있습니다. 예를 들면 다음과 같습니다.

$ touch -m <broker_instance_dir>/etc/broker.xml

또는 관리 API를 사용하여 브로커를 강제로 다시 로드할 수 있습니다. ActiveMQServerControl 의 관리 작업 reloadConfigurationFile() 을 사용하여 구성 파일을 다시 로드할 수 있습니다( ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" 또는 리소스 이름 서버)

추가 리소스

1.4.2. 외부 XML 엔티티(XXE) 처리 비활성화

broker.xml 파일에 포함된 별도의 파일에서 브로커 구성을 모듈화하지 않으려면 XXE 처리를 비활성화하여 AMQ Broker를 보안 취약점으로부터 보호할 수 있습니다. 모듈식 브로커 구성이 없는 경우 XXE 처리를 비활성화하는 것이 좋습니다.

프로세스

  1. &lt ;broker_instance_dir>/etc/artemis.profile 파일을 엽니다.
  2. -Dartemis.disableXxe 를 Java 시스템 인수의 JAVA_ARGS 목록에 추가합니다.

    -Dartemis.disableXxe=true
  3. Artemis .profile 파일을 저장합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.