IBM API Management v4.0
HTTP Proxy 서비스 사용해서 HTTP 프로토콜로 API 서비스 호출하기
0) Datapower 의 HTTP Proxy 서비스가 필요한 경우
APIM
은 기본적으로 API 를 대외 오픈하는 목적이라 기본적으로 HTTPS 프로토콜을 지원합니다. 그러나내부 서비스 목적이어서
HTTP 로 API 서비스를 하고자 할때 또는 신뢰된 연결이라 HTTP 로 연결하고 싶을 때는 실제 API 서비스를 수행하는
API Gateway 인 Datapower 에서 HTTP Proxy 를 추가하는 형태로 APIM 에서 HTTP 서비스를 사용할 수
있습니다.
이때, 서비스 업그레이드나 Fixpack 적용에 영향을 받지 않도록 APIM 이 자동으로 등록한
도메인을 사용하지 않고 새로운 도메인을 생성해서 HTTP 서비스 처리를 위한 MPGW 을 생성하며 관리적인 측면에서 좀 더
수월합니다. (이전에 이를 이용해서 성능 테스트를 해봤는데 내부 서비스 연계라 성능 손실은 미미했었습니다.)
1) Datapower 의 도메인 및 SSL 을 위한 key/certificate 생성
0. 참고 링크 :
Generating keys and certificates
https://www-01.ibm.com/support/knowledgecenter/SS9H2Y_7.1.0/com.ibm.dp.doc/cryptotool_generatingkeyscertificates.html
1. Datapower 에 접속하여 Administration > Configuration > Application Domain 메뉴에서 Add 를 클릭합니다.
2. 새로운 Domain 이름을 입력하고 완료합니다.
3. 새로 생성한 도메인으로 접속합니다.
새로 생성한 도메인에서 HTTPS 와 SSL 연결을 위하여 private key 와 certificate 를 생성하도록 하겠습니다.
4.
Administration > Miscellanepous > Crypto Tools 메뉴를 클릭하여 하단과 같이 기본
정보를 넣은 후에 Generate 버튼을 클릭하여 private key 와 certificate 를 생성합니다.
5. 정상적으로 private key 와 certificate 가 생성되었다면 하단과 같이 File management 에서 cert: 에 생성된 key 와 certificate 를 확인 가능합니다.
6. 생성된 key 와 certificate 가 적용된 Crypto Profile 을 생성하기 위해서 Objects > Crypto Configuration > Crypto Profile 메뉴를 클릭한 후 Add 버튼을 클릭합니다.
7. 이름을 입력하고 Identification Credentials 의 + 버튼을 클릭합니다.
8. 이름을 입력하고 Crypto Key 와 Certificate 에 이전에 작성한 private key 와 certificate 를 넣어주고 Apply 를 클릭합니다.
9. 나머지 단계도 Apply 를 모두 클릭하여 Crypto profile 을 작성을 완성합니다.
여
기까지 하셨으면 새로 만들어진 Domain 에서 사용할 private key/certificate 작성을 완료한 것입니다. 이제
실제적으로 서비스에서 사용할 HTTP 서비스를 받을 MPGW(Multi-protocol Gateway) 를 만들어 보도록
하겠습니다.
2) Datapower 의 MPGW(Multi-Protocol Gateway) 서비스 작성
0. 참고 링크 :
https://www-01.ibm.com/support/knowledgecenter/SS9H2Y_7.2.0/com.ibm.dp.doc/mpgw_wizard.html
1. Control Panel 을 클릭하여 메인 메뉴가 나오면 Services 중에 Multi-Protocol Gateway 를 선택합니다.
2. 해당 메뉴가 나오면 Add 버튼을 클릭합니다.
3. MPGW 의 이름을 입력하고 Policy 는 기본으로 설정합니다. 추가적으로 Degault Backend URL 은 실제로 연결할 HTTPS URL 이므로 원래 Gateway 가 서비스되는 주소:port 를 넣어주면 됩니다.
4. Front Side Protocol 의 ‘+’ 버튼을 클릭하여 추가하고자 하는 Handler 를 선택합니다. 여기서는 기 언급한 것과 같이 HTTP Front Side Handler 를 추가하면 됩니다.
5. 추가 마법사가 나오면 이름, IP, Port 들을 입력하고 허용할 메소드를 선택하고 완료합니다.
6. 위의 작업을 잘 수행하면 HTTP Front Side Handler 가 추가된 것을 확인할 수 있습니다.
7. 그 하단에 미리 만들어진 Crypto Profile 을 넣어주고 response 와 request 는 ‘Pass through’ 을 선택합니다.(요청/응답 아무것도 손대지 않고 넘긴다는 이야기임)
8. 일반적인 서비스 허용을 위해서 Advanced 탭으로 가서 하단의 옵션들의 설정을 변경합니다.
팁
: 상단의 Persistent connections 은 off 를 선택해주어야 합니다. 그렇다고 지속적 연결을 완전히 끄는 것은
아니고 Datapower 내부의 chaind service 에 loop 를 없애기 위한 목적으로 사용됩니다. 다시말하여 HTTP
서비스와 HTTPS 서비스 간의 연결시에 loop 를 끊기 위한 목적입니다. 해당 옵션을 off 로 하여도 Datapower 의
외부하고는 지속적 연결(keepalive)을 사용하게 됩니다.
참고 :
Turn OFF Persistent Connection between local chained services on DataPower
http://sunnygoel87.blogspot.kr/
Best Practices for configuring local chained services on IBM DataPower Gateways
http://www-01.ibm.com/support/docview.wss?uid=swg21417934
9. 위의 설정들이 정상적으로 완료가 되면 하단과 방금 작성한 MPGW 의 서비스가 up 인 것을 확인 가능합니다.
3) HTTP proxy 사용을 위한 APIM 설정 변경 및 테스트
1. 우선 원래 HTTPS 목적으로 서비스 되는 URL 을 하나 확인합니다.
2. 해당 URL 에서 이번에 생성한 MPGW 로 변경시 정상적으로 서비스가 호출되는 것을 확인합니다.
3. API Management 콘솔에 접속하여 Environment 에서 HTTP 서비스를 사용하도록 변경할 Environment 설정의 Custom Gateway URL 을 HTTP 서비스를 위해 만들어둔 MPGW 의 IP:Port 를 사용하도록 변경합니다.
4. 개발자 포탈로 가서 URL 이 HTTPS 가 아니라 HTTP 로 변경된 것을 확인하고 테스트가 정상적으로 된 것을 확인합니다.
팁 : Chrome 에서 테스트하는 경우 하단과 같은 Exception 을 받게 됩니다. 그 이유는 전체적으로 https 프로토콜 안에서 내부적으로 http 프로토콜을 호출하므로 보안 경고와 같은 것입니다.
이 경우 크롬 브라우저의 오른쪽 맨위에 방패 모양의 아이콘을 클릭한 후 Load Unsafe scripts 를 클릭하면 해당 Exception 을 해결할 수 있습니다.
APIM40_guide_HTTP_juwlee201602.pdf
'IBM - old > IBM APIC' 카테고리의 다른 글
사용자 정의 정책(User-defined policy) 생성하기 (0) | 2016.06.07 |
---|---|
사용자 정의 정책(User-defined policy) 사용하기 (0) | 2016.06.07 |
IBM API Management 를 활용하여 API 작성(등록) 하기 (0) | 2016.06.07 |
Bluemix 를 통한 IBM API Management 테스트 환경 구축 (0) | 2016.06.07 |
OAuth 2.0 자세히 살펴보기 #2 by IBM API Management (0) | 2016.06.07 |
댓글