카카오 API 504 Gateway Timeout

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


PHP / ID 994612

안녕하세요, 카카오 로그인 API 및 카카오 로컬 API 시도를 해봤는데 504 Gateway Timeout 이 떠서 문의 남깁니다.

방화벽에 443 포트 열려있는 상태고 안내페이지 ( 카카오 로그인 등 카카오 api를 위한 방화벽 허용 ) 에 나온 IP 또한 허용되게끔 설정을 해두었습니다.

방화벽을 꺼둔 채 시도를 해도 504 에러가 뜨는 상황입니다.
( telnet, tracerout 시도 시에도 연결되지 않습니다. )

혹시 저희가 체크해볼 수 있는 또 다른 부분이 있을 지 문의 드립니다.


  • 카카오 로그인 시 504 나는 부분 코드
    ( Redirect URI 로 들어와서 토큰 받는 부분 - code 값이 제대로 들어온 부분은 확인 완료 )

	$code = $_REQUEST['code'];

	$ch = curl_init();

	curl_setopt($ch, CURLOPT_URL, 'https://kauth.kakao.com/oauth/token');
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=authorization_code&client_id=앱 REST API 키&code=".$code."&redirect_uri=https://realker.playmore.co.kr/kakao_oauth.php");

	$headers = array();
	$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=utf-8';
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

	$result = curl_exec($ch)

  • 카카오 로컬 API 테스트 시 504 나는 부분 코드

	// 위치를 담은 배열
	$parameter = array(
		'query' => '서울 강북구 수유동 269-36'
	);
	
	// Request 정보
	$host = 'https://dapi.kakao.com/v2/local/search/address.json';
	$api_key = "앱 REST API 키";
	$headers = array("Authorization: KakaoAK {$api_key}");
	
	$query = http_build_query($parameter);
	
	$opts = array(
		CURLOPT_URL => $host . '?' . $query,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_SSL_VERIFYPEER => false,
		CURLOPT_SSLVERSION => 1,
		CURLOPT_HEADER => false,
		CURLOPT_HTTPHEADER => $headers
	);
	
	$curl_session = curl_init();
	curl_setopt_array($curl_session, $opts);
	$return_data = curl_exec($curl_session);


참고로 서버에서 kauth 로 traceroute 시도 시 기록과
다른 접근 가능한 사이트 traceroute 시도 시 기록을 남깁니다.

  • 카카오
[root@localhost ~]# sudo traceroute -T kauth.kakao.com
traceroute to kauth.kakao.com (203.133.166.32), 30 hops max, 60 byte packets
 1  222-237-78-65.tongkni.co.kr (222.237.78.65)  0.362 ms  0.464 ms *
 2  100.127.36.209 (100.127.36.209)  4.264 ms 100.127.38.225 (100.127.38.225)  3.867 ms 100.127.36.209 (100.127.36.209)  4.256 ms
 3  10.222.40.154 (10.222.40.154)  6.485 ms 10.222.40.116 (10.222.40.116)  0.545 ms  0.543 ms
 4  10.222.15.82 (10.222.15.82)  0.312 ms 10.222.15.86 (10.222.15.86)  0.308 ms 10.222.16.112 (10.222.16.112)  1.671 ms
 5  10.222.11.151 (10.222.11.151)  0.556 ms 10.222.11.153 (10.222.11.153)  0.529 ms 10.222.11.159 (10.222.11.159)  0.526 ms
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
  • 다른 사이트
[root@localhost ~]# sudo traceroute -T nid.naver.com
traceroute to nid.naver.com (223.130.195.168), 30 hops max, 60 byte packets
 1  222-237-78-65.tongkni.co.kr (222.237.78.65)  0.375 ms  0.398 ms *
 2  100.127.38.225 (100.127.38.225)  3.684 ms  3.682 ms  3.711 ms
 3  10.222.40.72 (10.222.40.72)  0.489 ms 10.222.40.128 (10.222.40.128)  0.487 ms 10.222.40.72 (10.222.40.72)  0.485 ms
 4  10.222.16.110 (10.222.16.110)  2.221 ms 10.222.15.90 (10.222.15.90)  0.350 ms 10.222.16.110 (10.222.16.110)  2.336 ms
 5  10.222.11.155 (10.222.11.155)  0.346 ms 10.222.13.237 (10.222.13.237)  0.372 ms 10.222.7.201 (10.222.7.201)  0.341 ms
 6  222.237.11.27 (222.237.11.27)  1.116 ms 110.9.3.11 (110.9.3.11)  6.930 ms 222.237.11.27 (222.237.11.27)  1.163 ms
 7  * * *
 8  * * *
 9  223.130.195.168 (223.130.195.168)  1.075 ms  1.652 ms  1.071 ms

기재하신 traceroute로그를 보면 호출하시는 측 사설 네트워크에서 더이상 밖으로 호출 못하는 것으로 보입니다.

VPN설정과 방화벽 설정을 확인해보셔야할 것으로 보입니다.

(참고로 카카오 kauth 서버측에서는 장애 리포팅이 접수되지 않았습니다.)

관련 내용 저희가 사용중인 호스팅업체에 문의해보았을 때,
그쪽에서 확인해봐도 방화벽 관련 문제는 없었다고 하셨습니다.

추가로 저희 traceroute 로그 보시고,

저희 IDC 게이트웨이를 지난후 경로에서 발생하는 문제 인 것 같습니다.
명확하지 않으나 접근 성공한 다른 사이트와 비교해보았을 때 카카오 측 IDC쪽의 게이트에서 차단된 것으로 의심이 됩니다.

라고 하시면서 카카오 측에 문의해보라고 답변을 주시더라구요.

혹시 해당 가능성은 없는 걸까요?

src 222.237.78.65 - dst 203.133.166.32, 443 port로 카카오측 ACL 차단룰은 조회되지 않네요.

nid.naver.com에 대한 traceroute를 보면
10.222.11.155 사설 IP에서 밖으로 나가기전 222.237.11.27 경로로 나가는 것을 볼 수 있는데요.

kauth.kakao.com의 traceroute를 보면
10.222.11.151 사설 IP에서 끝나잖아요? 이부분이 문제일듯한데 다른 부분에 ACL 설정없는지, 별도 프록시 설정은 없는지 확인해보시면 좋을 것 같아요.

1개의 좋아요