🖥

#ngrok で file プロトコルを転送先に指定して local の httpサーバー起動さえ不要の 200 ok レスポンスのテストを

2019/12/14に公開

help

なんと file:/// もリクエスト転送先として指定できることが判明

$ ngrok http
NAME:
   http - start an HTTP tunnel

...

EXAMPLES:
   ngrok http 8080                      # forward ngrok.io subdomain to port 80
   ngrok http example.com:9000          # forward traffic to example.com:9000
   ngrok http -subdomain=bar 80         # request subdomain name: 'bar.ngrok.io'
   ngrok http -hostname=ex.com 1234     # request tunnel 'ex.com' (DNS CNAME)
   ngrok http -auth='falken:joshua' 80  # enforce basic auth on tunnel endpoint
   ngrok http -host-header=ex.com 80    # rewrite the Host header to 'ex.com'
   ngrok http file:///var/log           # serve local files in /var/log
   ngrok http https://localhost:8443    # forward to a local https server

ngrok のダッシュボードで authtoken を得る

使うにはサインアップが必要らしい

image

ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxx

Macのfiles

ブラウザで file:/// にアクセスしてみる

Macの場合

image

ngrok を起動する

file:/// を指定する
スラッシュ3個なので注意

ngrok http file:///

ngrok by @inconshreveable                                                                                                      (Ctrl+C to quit)

Session Status                online
Account                       Yuma Inaura (稲浦悠馬) (Plan: Free)
Version                       2.3.35
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://af5606a9.ngrok.io -> file:///
Forwarding                    https://af5606a9.ngrok.io -> file:///

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

ngrok にリクエストを送る

ngrokにpublicなリクエストが送信される
ngrok経由でlocalのhtmlがレスポンスとして返ってくる

$ curl  https://af5606a9.ngrok.io
<pre>
<a href=".DS_Store">.DS_Store</a>
<a href=".VolumeIcon.icns">.VolumeIcon.icns</a>
<a href=".file">.file</a>
<a href=".fseventsd/">.fseventsd/</a>
<a href=".vol/">.vol/</a>
<a href="Applications/">Applications/</a>
<a href="Library/">Library/</a>
<a href="System/">System/</a>
<a href="Users/">Users/</a>
<a href="Volumes/">Volumes/</a>
<a href="bin/">bin/</a>
<a href="cores/">cores/</a>
<a href="dev/">dev/</a>
<a href="etc">etc</a>
<a href="home">home</a>
<a href="opt/">opt/</a>
<a href="private/">private/</a>
<a href="sbin/">sbin/</a>
<a href="tmp">tmp</a>
<a href="usr/">usr/</a>
<a href="var">var</a>
</pre>

ngrok で 200 ok が記録されたら成功

HTTP Requests
-------------

GET /                          200 OK

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2843

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-12-14

Discussion