1장. 3scale APIcast API 게이트웨이의 고급 작동 소개

3scale APIcast의 고급 작업을 도입하면 API에 대한 액세스 구성을 조정하는 데 도움이 됩니다.

1.1. 3scale API 호출의 공개 기본 URL

Public Base URL 은 API 소비자가 API 제품에 대한 요청을 만드는 데 사용하는 URL이며, 이 URL은 3scale에 공개적으로 노출됩니다. 이는 APIcast 인스턴스의 URL입니다.

자체 관리 배포 옵션 중 하나를 사용하는 경우 관리 중인 도메인 이름에 제공된 각 환경(staging 및 production)에 대해 자체 공용 기본 URL을 선택할 수 있습니다. 이 URL은 API 백엔드에 대한 URL과 달라야 하며, https://api.yourdomain.com:443 와 같을 수 있습니다. 여기서 yourdomain.com 은 사용자에게 속하는 도메인입니다. Public Base URL을 설정한 후 변경 사항을 저장하고 필요한 경우 스테이징 변경 사항을 프로덕션으로 승격합니다.

참고

지정한 Public Base URL은 OpenShift 클러스터에서 사용할 수 있는 포트를 사용해야 합니다. 기본적으로 OpenShift 라우터는 표준 HTTP 및 HTTPS 포트(80 및 443)에서만 연결을 수신 대기합니다. 사용자가 다른 포트를 통해 API에 연결하려면 OpenShift 관리자와 협력하여 포트를 활성화합니다.

APIcast는 Public Base URL에 지정된 호스트 이름에 대해서만 호출을 허용합니다. 예를 들어 https://echo-api.3scale.net:443 을 공용 기본 URL로 지정하는 경우 올바른 호출은 다음과 같습니다.

curl "https://echo-api.3scale.net:443/hello?user_key=you_user_key"

API에 대한 공용 도메인이 없는 경우 요청에 APIcast IP 주소를 사용할 수 있지만 도메인이 실제가 아닌 경우에도 Public Base URL 필드에 값을 지정해야 합니다. 이 경우 Host(호스트) 헤더에 호스트를 제공해야 합니다. 예를 들면 다음과 같습니다.

curl "http://192.0.2.12:80/hello?user_key=your_user_key" -H "Host: echo-api.3scale.net"

로컬 머신에 배포하는 경우 "localhost"를 도메인으로 지정할 수 있으므로 Public Base URL은 다음과 같이 표시되며 다음과 같이 요청을 만들 수 있습니다.

curl "http://localhost:80/hello?user_key=your_user_key"

여러 API 제품이 있는 경우 각 제품에 대해 Public Base URL을 적절하게 설정합니다. APIcast는 호스트 이름을 기반으로 요청을 라우팅합니다.