Mono Works

チラシのすきま

hugoローカルサーバを外部ネットワークから https表示

hugo 0.28 の新機能として hugo serverのオプションに --liveReloadPort が追加されていました。これと ngrok のようなサービスを組み合わせることで、ローカルWebサーバで SSLの検証をおこなうことができるようになりました。

ご当地レトルトカレー(2016/12/6放送 マツコの知らない世界より) 2018-07-02-ngrok-exposes-local-server_00

参考:Hugo 0.28: High-speed Syntax Highlighting! | Hugo

ngrokとは

What is ngrok? に『ngrokは、NATやファイアウォール越しにあるローカルサーバをセキュアなトンネル経由でグローバルインターネットに公開します。』と書かれています。とは言っても、グローバルNWに対して特定のポートを開放するので、必要な時だけ使うようにしましょう。

ngrokの準備

  1. ngrokでサインアップ(私はGithubアカウントを利用しました)
  2. ここから ngrokの実行ファイルをダウンロードして解凍(ngrok.exe をそのまま実行すると、使い方とかサンプルが表示されます)
  3. Connect your account 欄のコマンドngrok authtoken 《authtoken》をコピペして実行すると、authtokenが記載されたngrok.ymlが生成され、準備完了

ngrok authtoken 《authtoken》

ngrokの実行

下記コマンドを実行して、ngrokを起動すると

ngrok http 1313

下記のように表示されるので、《サブドメイン》.ngrok.io部分をコピペしておきます。

Session Status                online
Account                       pporoch (Plan: Free)
Version                       2.2.8
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://サブドメイン.ngrok.io -> localhost:1313
Forwarding                    https://サブドメイン.ngrok.io -> localhost:1313

hugo serverの起動

下記オプションで hugo サーバを起動すると

hugo server -D -t テーマ -b https://サブドメイン.ngrok.io --appendPort=false --liveReloadPort=443 --navigateToChanged

外部ネットワークから hugo のローカルWebサーバのコンテンツを https で表示できます。確認してみると、RapidSSL RSA CA が使われてました。

2018-07-02-ngrok-exposes-local-server_02

無料枠だと、《サブドメイン》は起動ごとにランダム生成されます。有料プランなら《サブドメイン》の予約が可能です。

終了

ngrokの終了はCtrl+C

ご当地レトルトカレー(2016/12/6放送 マツコの知らない世界より) 2018-07-02-ngrok-exposes-local-server_03 昔撮った写真を見ていて気になったので「松坂牛ビーフカレー」をネットで探してみると、同じ名前の商品がたくさん見つかってしまい、どれが番組で1位として紹介されていたものか分かりませんでした…

おしまい

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内