IP 제한이 걸린 API를 ssh 포트 포워딩 및 호출

2367 단어 SSHportforwarddns

소개



IP 제한이 걸려 있는 API나 사이트에 특정 서버에서라면 액세스할 수 있지만
local의 머신으로부터라면 IP 제한으로 액세스 할 수 없다, 라고 하는 것이 있군요.
요 전날, 그 고민을 해소했으므로 비망록으로서 남깁니다.

해결 방법 1 VPN (이번에는 사용하지 않습니다)





엔지니어가 사용할 것 같은 VPN이라면 다음이 있습니다.
  • google cloud
  • aws
  • azure

  • 기본 종량 과금이므로 이번에는 사용하지 않았습니다.

    해결 방법 2 ssh 포트 포워딩



    이 기사에서는 ssh 포트 포워딩에 대한 설명 하지 않고 숙련되게 how to만 써 갑니다.

    예를 들어 ssh 연결 대상 vps.jp를 통해 API 엔드포인트( h tps // h tp 병. 오 rg / p )에 액세스할 수 있습니다.
    h tps // h tp 병. 오 rg / p 는 IP를 확인할 수 있는 사이트입니다.

    vps.jp의 ssh 연결 설정

    config
    host vps
      user hoge
      hostname vps.jp
      Identityfile /hoge/.ssh/hoge
      port 22
    
    ssh vps 로 접속할 수 있는 것을 확인한 후 아래를 추기합니다.

    config
    host tunnel-vps
      user hoge
      hostname vps.jp
      Identityfile /hoge/.ssh/hoge
      LocalForward 8000 httpbin.org:443
      port 22
    

    추가가 끝나면 ssh tunnel-vps 에서 ssh가 가능한지 확인하십시오.

    ssh 연결을 유지한 상태에서
    localhost:8000에 액세스하면 아~라 이상한☆
    httpbin.org에 액세스할 수 없습니다.

    왜?



    나는 계속
    서버 측 (ssh)이 DNS를 해결할 수 없어서 서버 측 /etc/hosts 이었는지와 해결 방법을 씁니다.

    첫째, 왜 쓸모없는 이유 때문에
    지극히 간단한 이유로써 httpbin.org의 서버에 localhost라고 하는 도메인으로 액세스 하고 있었기 때문에, 서버측의 virtual host가 어디에 나누어 좋을지 모르는 상황이 되고 있었습니다.

    해결 방법
    local 머신(MAC)의/etc/hosts에 다음을 추가합니다.
    127.0.0.1   httpbin.org
    

    초초보적.

    이 상태로 h tps // h tp 병. 오 : 8000 / p 에 액세스하면 아~라 이상한☆
    ssh 연결 대상의 글로벌 IP가 제대로 반환됩니다!

    스바라! ! !

    좋은 웹페이지 즐겨찾기