java.net.SocketTimeoutException: connect timed out

안녕하세요. 토스페이먼츠 운영에서 하던 중 해당 에러가 발생했었습니다. 테스트계에서 테스트 당시는 dns 가 설정 되어 있어서 상관이 없는데 운영의 경우 103.182.251.2 api.tosspayments.com 103.182.250.2 api.tosspayments.com 이런식으로 hosts를 수정했습니다. 혹시 return 받을 때 저 2개의 ip말고 다른 ip로 들어올까요?
39 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2y ago
2개만 챙겨주시면 됩ㄴ디ㅏ.
이실장
이실장2y ago
방화벽 설정 | 토스페이먼츠 개발자센터
토스페이먼츠 API를 안전하게 사용할 수 있는 방화벽 설정을 알아봅니다. 방화벽은 외부의 신뢰할 수 없는 네트워크가 내부 네트워크에 접근하지 못하도록 하는 보안 시스템입니다. 특정 포트나 IP에서 들어오는 요청을 필터링하거나, 사용자 인증 요청, 프록시, 주소변환기능(NAT) 등의 방법이 있습니다.
나이스신용정보개발자_1
2개만 챙겨주시면 된다는게 해당 2개의 ip만 오픈하면 된다는 말씀이신거죠?
유부장
유부장2y ago
여기에서 말씀하시는 return 이 무엇인가에 따라 조금씩 다를것 같은데 API 요청에 대한 response 를 말씀 하시는것이 맞을까요? 아니면, 웹훅 통보등의 별도 콜백 수신을 말씀 하시는 걸까요? API 요청에 대한 response 라면, 지금 알고계시는 2개 IP 에 대한 hosts 설정 맞습니다.
나이스신용정보개발자_1
api 요청에 대한 reponse입니다 그럼 웹훅 통보에 대한 별도 콜백 수신을 하려면 13.124.18.147 13.124.108.35 3.36.173.151 3.38.81.32 이 4개의 ip를 방화벽 오픈을 해야 한다는 말씀이신거죠?
유부장
유부장2y ago
네 맞습니다.
나이스신용정보개발자_1
확인 감사합니다~
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
나이스신용정보개발자_1
안녕하세요. 테스트계에서는 setConnectTimeout(10000);로 10초로 했을 때 정상적으로 받았는데 혹시 디폴트로 몇 초 정도를 해야 하는게 있을까요? 50초 정도로 수정할까 하는데 다른 업체는 몇초 정도 하는지 해서요
이실장
이실장2y ago
웹훅 말씀이신가요?
나이스신용정보개발자_1
API 콜 할때요
이실장
이실장2y ago
50초로 수정하시는 것은 문제 없을 것 같아요 간혹 1초 걸어둔곳은 저희가 가이드 하는데요. 10초이상이면 안전 할 것 같습니다
나이스신용정보개발자_1
다른 업체도 보통 10초 이상으로 한다는 건가요?
유부장
유부장2y ago
네, 토스페이먼츠의 처리 뿐 아니라, 뒷단에서 거래 처리를 위해 카드사 등 서비스 제공 업체 응답까지 기다려야 하는 케이스가 있어서 그렇습니다. 50초면 매우 충분할것 같습니다.
나이스신용정보개발자_1
네 알겠습니다. 감사합니다. 안녕하세요 50초로 하고 했는데도 java.net.SocketTimeoutException: connect timed out 이 에러가 떠서 혹시 api retun 받는거에서 - 103.182.251.2 - 103.182.250.2 이 두개 말고도 추가해야할게 잇을까요?
유부장
유부장2y ago
이건 outbound 연결 문제일것 같습니다. 서버단에서 api.tosspayments.com 가 해당 IP 들 만을 바라보도록 hosts 수정하는 것과 별개로, 혹 outbound 방화벽 설정등은 문제 없이 허용 되어 있을까요? 해당 IP 들의 outbound 허용이 잘 되어 있는지
나이스신용정보개발자_1
서버에서 ping api.tosspayments.com 을 했을 때 연결이 됩니다. 저희쪽 서버에 dbs 설정은 되어 있지 않고 hosts만 되어 있는데 혹시 그 문제도 있을까요? dns설정이요
유부장
유부장2y ago
nslookup 으로 api.tosspayments.com 수행하시면 결과는 어떻게 나오시나요?
김차장
김차장2y ago
일반적인 ping 명령어는 80포트로만 확인을 하구요 443 포트 확인을 위해서는 telnet api.tosspaynemts.com 443 또는 nc 를 사용하셔야합니다,
김차장
김차장2y ago
접속이 가능한 상태라면 이렇게 나오셔야해요
No description
나이스신용정보개발자_1
안녕하세요
나이스신용정보개발자_1
여기서 타임아웃 걸리네요 저희쪽 네트워크 담당자분하고 이야기 해보아야 할거 같아요 안녕하세요
나이스신용정보개발자_1
저희쪽에서는 pass 됐다고 뜨는데 확인 가능할까요?
Kimoon Lee
Kimoon Lee2y ago
방화벽 작업하신 후에도 timeout 이 발생하시는 건가요? 그리고 이 두개에 443 포트를 모두 열어주신것 맞으신가요? - 103.182.251.2 - 103.182.250.2
나이스신용정보개발자_1
넵 두개 다 열려 있어서 사진 두번째 캡쳐 본 보면 pass로 나와있습니다 발신 패킷 및 발신 바이트 수요
Kimoon Lee
Kimoon Lee2y ago
지금은 목적지가 251.2 만 열려있으신것 같아서요 250.2 도 여신것인지를 확인부탁드립니다.
나이스신용정보개발자_1
일전에 같이 연결로 기억하는데 네트워크 담당자 분에게 문의 중에 있습니다
유부장
유부장2y ago
전달주신 이미지를 기반으로 말씀 드린거라, * 이미지에서는 251.2 만 보임 네 확인 부탁 드립니다
나이스신용정보개발자_1
같이 열었다고 회신 받았습니다
Kimoon Lee
Kimoon Lee2y ago
그러면 출발지 포트를 any 로 열어주실수 있을까요? 지금은 44000 44012 만 여신것 같은데요.
나이스신용정보개발자_1
tcp any로 열려 있는거 같아요
Kimoon Lee
Kimoon Lee2y ago
지금도 telnet 443 을 하시면 timeout 이 발생하시나요?
나이스신용정보개발자_1
일단 네트워크 쪽에서 해결해 주셨어욧 감사합니다..ㅠㅜㅠㅠ 대답 다 해주셔서 저희 쪽 nat 설정 누락이 있었습니다 대답해 주셔서 감사합니다..ㅠㅠ
Kimoon Lee
Kimoon Lee2y ago
네 보통 timeout 의 경우 가맹점측 네트워크 설정이 잘못된 경우가 많습니다. 공유해주셔서 감사합니다.
나이스신용정보개발자_1
계속 답장해 주셔서 감사합니다 🙂

Did you find this page helpful?