2011-04-08 6 views
16

저는 서비스에 대한 모든 호출이 허용 된 IP 주소에서 이루어 지도록 요구하는 타사 웹 서비스 업체와 협력하고 있습니다. 즉, 나는 그들에게 내가 그들의 서비스에 전화 할 IP 주소를 제공해야한다.Appengine 서버의 IP 주소 블록?

문제 Google Appengine을 사용하고 있습니다. Appengine에서 나가는 http 요청을 할 때 고정 IP 주소를 얻는 방법이 있습니까? 실패 - 모든 요청이 올 IP 주소 블록이 있습니까? 나는 전체 블록을 화이트리스트로 만들 수 있었다. 이것이 존재한다면 어떻게 변할 것인가?

프록시로 사용할 간단한 Amazon EC2 인스턴스를 설정할 수 있음을 알고 있습니다. (이 작업을 수행하는 방법에 대해 다른 질문을 할 것입니다.)하지만 다른 방법은 없었는지 확인하고 싶었습니다.

+0

누군가는해야 https://code.google.com/p/googleappengine/issues/detail?id=6644 – speedplane

답변

16

Google App Engine의 Urlfetch를 통해 Stack Exchange API에 연결하는 데 몇 주 전에 동일한 문제가 발생했습니다. 팀에서 모든 GAE IP를 허용하는 문제를 신속하게 해결했습니다.

IP의 범위

는 URL을 가져올 연결이 다음 DNS 조회를 수행하여 찾을 수 있습니다에서 올 수 있음 주소 :

dig -t TXT _netblocks.google.com @ns1.google.com 
+0

IP 주소 목록이 얼마나 안정적인지 알고 계십니까? 나는. 얼마나 자주 변경됩니까? – aloo

+1

@aloo 아니오 나는 그렇지 않으며 예측할 수 없다고 생각합니다. – systempuntoout

+0

방금이 명령을 실행하고 IP 주소 목록을 받았습니다. 하지만 여기에 나열되지 않은 다른 IP 주소에서 오는 AppEngine 연결을 볼 수 있습니다. 이게 완전하다고 확신합니까? 또한 이것은 들어오는 IP 주소 일 뿐이며 urlfetch로 만든 나가는 IP 주소는 아닙니다. – speedplane

1

마지막으로 이것이 가능하지 않음을 확인했습니다. 현재 IP 주소를 동적으로 가져올 수는 있지만 예측할 수는 없습니다.

+1

동적으로이 문제에 별표를 표시 하시겠습니까? – Eliot

+0

어떻게 동적으로 ips를 얻을 수 있습니까? –

+0

죄송합니다 - AppEngine을 사용한 이후로 너무 오랜 세월이 걸렸습니다. 어떻게 실현했는지 기억하지 못합니다. –

0

는 참고 : _netblocks.google.com 분명히 정확하지 않습니다. 현재 저는 GAE가 _netblocks를 발굴 할 때 나열되지 않은 주소 (예 : 8.35.201.166)에서 연결된다는 사실을 알고 있습니다.

이 범위는 _netblocks, _netblocks2 또는 _netblocks3에 나열되지 않습니다.

현재 발굴 출력 : IP4 : 216.239.32.0/19 IP4 : 64.233.160.0/19 IP4 : 66.249.80.0/20 IP4 : 72.14.192.0/18 IP4 : 209.85.128.0/17 IP4 : 66.102.0.0/20는 IP4는 : 74.125.0.0/16 IP4는 : 64.18.0.0/20 IP4는 : 207.126.144.0/20 IP4는 : 173.194.0.0/16이 고정 점점 관심

+0

나는 구식이라고 생각합니다. – speedplane