controller 내 curl 방식으로 REST-API 호출시에만 이슈가 발생하는 점 확인하였습니다.
해당 부분 가비아에서 피드백 올때까지 아래 로그인 방식으로 치환하였습니다.
javascript에서 호출시에는 문제없음을 확인하였습니다.
Kakao.Auth.login({
success: function(authObj) {
Kakao.API.request({
url: ‘/v2/user/me’,
success: function(res) {
해당 부분 방화벽 문제인지 확인하여 수정 예정입니다.
1개의 좋아요
안녕하세요
저희 사이트도 동일한 증상이 금일 발생하여 추가정보 드립니다
원글 작성자분과 동일하게 PHP 기반 사이트이며, php curl()을 이용하여 kakao API를 호출중입니다
액세스 토큰 요청(/oauth/token) API는 정상적으로 동작합니다
발급받은 액세스 토큰을 이용하여 가입(/v1/user/signup), 유저정보(/v2/user/me) 호출시에 서버에 지정된 타임아웃 시간인 5분이 될때동안 응답이 오지않습니다
특이한 점은 서버의 커맨드라인 상에서 curl로 호출시에는 정상적으로 응답이 온다는겁니다…
Ex) curl https://kapi.kakao.com/v2/user/me -H ‘Authorization: Bearer xxxxxxx’
카카오측 API 서버에 변경사항이 있는지 궁금하며,
저희측 환경 첨부합니다.
서버 : AWS EC2
OS : Ubuntu 22.04 LTS
PHP : 7.1.33-52
curl : 7.81.0
php7.1-curl : 7.1.33-52
tim.l
6월 7, 2023, 10:39오전
18
aws라면 방화벽 설정 확인 부탁드려요.
[공지] API플랫폼 서버 IP 변경 / [Notice] Changes the API platform server IP
참고로 위에 다른분 문의는 방화벽 문제 보다는 프록시 설정 또는 특정 기능 타임아웃 문제로 추정됩니다. 2분딜레이 후. 호출되고 0.3초만에 즉시 응답.
tim.l
6월 7, 2023, 10:53오전
19
@jhjsongoku88
controller라 하심은 특정 프레임웍을 사용하시는 걸까요?
외부 변수 최소화를 위해
아래 php예제 참고하셔서 프레임웍 없이 호출테스트 부탁드립니다.
[rest api 예제] php - 카카오 로그인, 카카오 친구목록 조회 및 카카오톡 메시지
조금전 이슈 해결하여 공유드립니다
/user/me, /user/signup 두 API는 GET으로 호출 하도록 변경된듯합니다
저희 사이트는 모든 카카오 API를 POST로 호출하고있던걸 확인하였고, GET으로 변경한 이후 정상적으로 응답을 받을수 있었습니다
curl_setopt($s, CURLOPT_POST, true); => curl_setopt($s, CURLOPT_POST, false);
tim.l
6월 8, 2023, 12:46오전
21
아래 예제도 POST이고 방금 테스트해보니 GET/POST 모두 정상작동됩니다.
참고로 /v2/user/me는 GET POST 모두 지원합니다.
[rest api 예제] php - 카카오 로그인, 카카오 친구목록 조회 및 카카오톡 메시지
GET POST method 문제라면 오류가 발생해야지 타임아웃이 발생한다면 뭔가 개발하신 환경상 다른 문제가 있을 듯해요.
ciga4
6월 8, 2023, 1:07오전
22
jhjsongoku88 님과 동일한 증상이 어제 오후 부터 클레임 접수되어 고충을 받고 있었습니다.
방화벽 업체를 통해 211.249.200.134 가 block 되고 있는지도 체크 했구요 .
방화벽 업체에서는 request 의 포트 를 통해 reply 포트가 동일해야 하는데 방화벽 정책에 위배되는 포트 변경이 이루어져 ip가 block 처리 된다고 합니다. ip 자체 block이 아닌 방화벽 정책에 위배 되어 block된다고 합니다.
해결 하신 것처럼 post → GET 으로 변경시 해결이 되었습니다.
하지만 근본적인 카카오 정책이 변경된 것인지 서버의 이상을 회피 해서 GET 으로 호출시 문제 해결이 된 것인지는 의문입니다.
일단은 GET으로 변경하여 문제는 해결하였습니다.
tim.l
6월 8, 2023, 1:25오전
23
안녕하세요. 인프라팀에 내용 전달전 확인을 위해
호스팅환경 및 개발환경 설명 좀 부탁드립니다.
위에 질문 주신 jhjsongoku88 님은 /v2/user/me 호출 시, 서비스측 2분 딜레이 후 0.3초만에 즉시 응답하는 사례인데요.
응답이 전달되었는데… 어떻게 방화벽 block문제인지 이해가 가지 않아서요. 좀더 정보를 수집해봐야 할 것같습니다.
저도 해당부분 다른분들과 같습니다.
curl_setopt($s, CURLOPT_POST, true); => **curl_setopt($s, CURLOPT_POST, false);
으로 변경햇을시 문제 없이 동작합니다.
서버 최대 타임아웃시간이 다른분들과 다르게 지정된 타임아웃이 2분이라는것만 차이인것같습니다.
tim.l
6월 8, 2023, 1:39오전
25
@jhjsongoku88 방화벽 설정이 없다고 하셨는데요. 방화벽 설정이 있는건가요?
tim.l
6월 8, 2023, 1:42오전
26
@jhjsongoku88 @ciga4 @MeowKim
종합해보면 세분 모두 PHP를 사용하는 상황이고
방화벽을 (설정을) 사용하시는 분도있고 사용하지 않는 분도 있는걸 보면 방화벽 문제가 아닌것같습니다.
제가 제공드린 예시로 테스트는 해보셨을까요?
저는 PHP 개발환경에 종속적인 문제가 있을 것 같은데
아래 예제로 확인 한번 부탁드립니다. POST 예제입니다.
[rest api 예제] php - 카카오 로그인, 카카오 친구목록 조회 및 카카오톡 메시지
안녕하세요.
위 예제 확인하는중에 질문이 있어 문의드립니다.
예제 $res->properties == “” 부분으로 들어가 아래와 같이 발생하는데,
동의항목 : profile 필수 설정 이 어떤걸 뜻하는지 알 수 있을까요??
tim.l
6월 8, 2023, 1:51오전
29
디벨로퍼스 설정에 사용자 정보 동의항목을 사용하도록 설정하시라는 이야기인데요. (이용자 정보를 받도록)
본 테스트를 위해서는 크게 상관없습니다. v2/user/me가 호출되고 결과 오는지만 테스트할거니까요.
상세한 설정에 대해서는 가비아에서 피드백은 없었으나
안녕하세요 가비아 퍼스트몰입니다.
telnet 통신시 문제없이 접속이 되는것으로 확인됩니다.
[root@healthyweb-01 conf]# telnet 211.249.200.134 443
Trying 211.249.200.134…
Connected to 211.249.200.134.
Escape character is ‘^]’.
[root@healthyweb-01 conf]# telnet 203.133.166.33 443
Trying 203.133.166.33…
Connected to 203.133.166.33.
Escape character is ‘^]’.
IP 텔넷 확인시엔 문제가 없는것으로 파악되었습니다.
tim.l
6월 8, 2023, 1:59오전
31
네, 그런면에서
@ciga4 님이 말씀하신 아래 내용은 본 이슈와 무관해보입니다.
방화벽 업체에서는 request 의 포트 를 통해 reply 포트가 동일해야 하는데 방화벽 정책에 위배되는 포트 변경이 이루어져 ip가 block 처리 된다고 합니다. ip 자체 block이 아닌 방화벽 정책에 위배 되어 block된다고 합니다.
tim.l
6월 8, 2023, 3:18오전
33
자세한 피드백 감사합니다.
6/8 11:39 쯔음 카카오측의 API 서버에 대한 환경변경이 있었을거라 추측중 입니다.
오늘 오전 11시 39분 말씀 맞으실까요?
최종 확인해주시면 kapi 개발자에게 확인 해보도록 하겠습니다
저희 사이트 기준으로 2023-06-07 12:34:50 에 카카오 간편 로그인으로 마지막 회원가입자가 있었습니다.
해당 시점일듯합니다.
@MeowKim 오늘이 아닌 이야기하시는게 아니고 어제자 이야기하시는것같습니다.
tim.l
6월 8, 2023, 3:47오전
35
@alswndn2030 @lifezip @MeowKim @ciga4
문제 발생 시작 시점 남겨주시면 담당자에게 종합해서 문의하도록 하겠습니다.
@jhjsongoku88
넵. 확인 감사합니다.