이 작업 주제에서는 SSL을 통해 HTTP를 사용하여 다른 응용프로그램과 통신하도록 HTTPInput 및 HTTPReply 노드를 구성하는 방법을 설명합니다. 이 작업에서는 windows 시스템의 경우에 필요한 단계를 설명하지만 다른 플랫폼의 경우에도 거의 동일한 작업이 필요합니다.
WebSphere Message Broker는 keytool이라는 키스토어 조작 프로그램을 제공하는 JRE(Java Runtime Environment)를 포함합니다. 이 명령을 호출하려면 다음 단계를 완료하십시오.
이제 키스토어가 작성되어 브로커가 이를 사용하도록 준비가 되었습니다.
SSL을 통해 HTTP를 사용하려면 브로커에 몇 가지 등록 정보를 설정해야 합니다. mqsichangeproperties 명령을 사용하여 이 등록 정보를 모두 변경할 수 있습니다. 다음과 같이 등록 정보를 변경하십시오.
시스템에 올바른 값을 사용하여 이 등록 정보를 모두 설정했는지 확인하십시오. enableSSLConnector 등록 정보만 설정해야 합니다. 다른 세 개의 등록 정보는 디폴트 값입니다. 그러나 이 디폴트 값을 변경하는 것이 좋습니다. mqsichangeproperties 명령은 모든 등록 정보의 디폴트 값을 나열합니다.
작동 중인 HTTPS 기능을 표시하는 가장 단순한 메시지 플로우는 HTTPReply 노드에 직접 연결된 HTTPInput 노드를 포함하는 메시지 플로우입니다. HTTPInput 노드에서 설정할 두 개의 중요한 등록 정보는 다음과 같습니다.
/*는 HTTPInput 노드가 지정된 포트의 http 리스너로 송신된 요청과 일치함을 의미합니다. 이는 테스트 목적으로는 유용하지만 프로덕션용으로는 권장하지 않습니다.
이제 메시지 플로우를 브로커로 전개할 수 있습니다. 지금까지 기타 모든 단계를 수행했으면 https 리스너가 시작되었음을 나타내는 BIP3132 메시지가 로컬 시스템 로그(Windows에서는 이벤트 로그)에 표시되어야 합니다.
이제 시스템을 테스트할 수 있습니다.
HTTPS가 올바르게 구성되었는지 여부를 테스트하는 가장 단순한 메소드는 HTTPS를 통해 브로커에 요청할 수 있도록 웹 브라우저를 사용하는 것입니다.
https://localhost:7083/testHTTPS브로커 구성에서 작성한 변경사항을 반영하도록 URL에서 값을 변경하십시오. 인증서를 승인할 것인지 묻는 팝업 창이 나타나면 질문에 예를 선택하십시오. 브라우저가 새로 고쳐지고 비어 있는 html 페이지 구조가 표시되어야 합니다. Mozilla 브라우저에서는 다음 예와 유사합니다.
<html> <body/> </html>Internet Explorer에서는 다음 정보가 표시되어야 합니다.
XML document must have a top level element. Error processing resource 'https://localhost:7083/testHTTPS'
이런 응답은 설정이 올바르게 작동함을 표시하는 공백 페이지가 리턴되었음을 의미합니다. 리턴된 페이지에 컨텐츠를 추가하기 위해 플로우에 Compute 노드를 추가할 수 있습니다.
다른 HTTPS 클라이언트를 사용하여 HTTPS 요청을 처리할 수 있습니다. SSL을 통해 클라이언트 연결을 작성하도록 클라이언트를 구성하는 방법을 알려면 클라이언트 문서를 읽으십시오.
웹 브라우저 대신 다른 HTTPS 클라이언트(예: Java 또는 .net 클라이언트)를 사용할 수 있습니다. 클라이언트 유형에 따라 keytool을 사용하여 작성한 인증서를 http 리스너의 키스토어 파일에서 내보낸 후 해당 클라이언트의 키스토어로 들여와야 할 수도 있습니다. SSL을 통해 클라이언트 연결을 작성하도록 클라이언트를 구성하는 방법을 알려면 클라이언트 문서를 읽으십시오.