使用 ssh tunnel 透過遠端機器 ip 測試 api
今天再測一隻 api 的時後, 因對方 api 有設定限制 ip
local 的網路 ip 無法做測試, 因此要做一個 ssh tunnel
step0. 在本機必須可以 ssh 到該台機器上
e.g.
$ ssh dd3
- dd3 是使用 ssh config 設定的 host
step1. 建立 ssh tunnel
$ ssh -D 9999 -C -N dd3
這行指令的意思是 ‘建立一個與 dd3 的 ssh tunnel, 在本機可以透過 port 9999 做 forwarding’
參數說明:
-D 指定一個 port 做 forwarding
-C 使用 compression
-N 不執行 remote command (通常用在 port forwarding)
step2. 設定 proxy server
接下來到 mac 的 系統偏好設定 -> 網路 -> 進階 -> 代理伺服器 做設定 (如圖)
這樣就可以透過 dd3 機器的 ip 在 local 快樂的測試該 api, 而不會被擋 ip 了