本地開發——TCP Proxy 解決 API 必須綁定 IP 白名單才能訪問的問題

本次對接一個票務系統的時候,對方的 API 須要加白名單後才能夠訪問,我當時就提出了個問題。php

問:那我在本地怎麼調試開發啊?(由於我開發機 IP 是不固定的)html

答:測試環境也要加,要否則怎麼開發呢?git

博文源地址 http://blog.phpor.me/tools/2015/11/29/tcp-proxy-for-api-white-list.htmlgithub

想了一下跟他們爭確定是爭不過的了,那就考慮如何知足他們,想了一下,我有本身的公網服務器 IP,本地測試環境直接請求這臺機器,它再把請求轉發給相應的 API,這樣我無論在哪裏均可以開發了。shell

API 那邊的 Host 仍是 IP,即 http://x.x.y.z:port/api-route,這樣服務端的那裏只須要一個 TCP Proxy 就能夠了,Google 了一下 tcproxy 這個小巧的很是入眼。api

安裝及使用

$ git clone https://github.com/dccmx/tcproxy.git
$ cd tcproxy && make ; echo $?  # 輸出 0 表明安裝成功
$ nohup ./src/tcproxy "0.0.0.0:19999 -> rr{x.x.y.z:port}" &

代碼裏面的 Host 直接換成我本身的 ip:19999 端口就能夠訪問了。服務器

使用這個有個注意的點,就是你的代碼要有環境之分,不一樣的環境應能夠自定義配置,參考 12 Factor 的配置tcp

相關文章
相關標籤/搜索