### 在自己的主機上預備
在開發時,有時可能會需要到驗證主機 https 及 DNS 的服務,例如 OAuth 或是 Payment Gateway 等等,
我們可以在自己的主機用以下的 Command 來把自己主機的某一個 Port Tunnel 度 Remote 主機的某一個 Port。
```sh
$ ssh -f -N -T -R 9000:localhost:3000 root@<your-vps-ip>
```
##### -f
把服務在背景運行。
##### -R
是指把 localhost 上,Port 3000 的資料 Tunnel 到 Remote 主機上的 Port 9000 上。
##### root@<your-vps-ip>
目標主機的使用者及地址。
### 在 Remote 主機上預備
可以在 Remote 主機上裝上 Nginx 來進行 reverse proxy。
```sh
$ apt-get update
$ apt-get install nginx
```
然後在 nginx 的 config 設定好 reverse proxy 設定。
開一個新的檔案 `/etc/nginx/site-available/tunnel`,設定以下內容。
```sh
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:9000;
}
}
```
*** 如果要使用 https 的話,就要裝返張 CERT 同埋 `proxy_pass` 要改返去 https。
在 `/etc/nginx/site-enable` 加入
然後就可以檢查 nginx 設定及重新啟動服務。
```sh
$ nginx -t
$ nginx -s reload
```