LINE APIをローカル環境で開発する

API利用してプログラムを開発していると、WebHookでのCallbackがあってなおかつSSLが必須などで
サーバにいちいちデプロイして確認したりサーバ上で直接さわったりと非常にめんどくさいことが多いのですが、
今回はそれを解決するためSSH Port Forwardingでローカル開発環境を直接サーバへつなげます。
今回行う内容としては、上の図のようにサーバ上のNGINXへのリクエストをローカルの開発環境へ流します。
server {
listen *:443 ssl http2;
server_name example.com;
# Logs
access_log /var/log/nginx/example.com-access.log main;
error_log /var/log/nginx/example.com-error.log error;
# SSL
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include ssl.conf;
location / {
proxy_pass http://localhost:8080;
}
}
まずはNGINXの設定でアクセスをすべて「localhost:8080」へ流します。
ssh user@example.com -R 8080:localhost:80 -g -f -N
次にSSH Port Forwardingの設定で、開発環境で上記のコマンドを発行してexample.comのサーバ内の8080のアクセスをlocalhost:80へ流します。
これで、設定完了です。
「example.com」へアクセスがあった場合、手元の開発環境へすべてのアクセスが流れてきます。
これでIDEやデバッガなど使えるので開発がより効率的に行なえます。
知っている人は知っているけど、知らない人が多いちょっとしたTipsでした。