この記事の続きです。
今回は、localhostで動いているRedmineを外部からもみれるようにしたい!というお話。
こちらを参考にしてみます。
▼localhostにhttpsで外部から接続できるようにするngrokの使い方
https://hirooooo-lab.com/development/https-for-localhost/
ngrokとは
> ローカル上で稼働しているWebサーバーなんかを外部公開できるサービスです。
> しかもhttpsのURLも発行されるので、実質的にSSL通信によるhttps外部接続も可能になります。
1. HomeBrewを使ってngrokをインストール
前記事でインストールしたHomeBrewがここで再登場。
さっそくコマンドを実行してみる。
$ brew cask install ngrok
Error: `brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead.
あら?古いみたい。(参考記事は2021年執筆)
指示通り置き換えて実行してみる。
$ brew install ngrok --cask
(中略)
🍺 ngrok was successfully installed!
今度は無事に完了。
2. httpsでの外部アクセス用URLの発行
> 前提としてlocalhost:8080でwebサーバーのアクセスができるようにしておいて下さい
とのこと。
前記事のとおり、8080で設定しているので前提はクリア。
$ ngrok http 8080
http - start an HTTP tunnel
USAGE:
ngrok http [address:port | port] [flags]
AUTHOR:
ngrok - <support@ngrok.com>
COMMANDS:
config update or migrate ngrok's configuration file
http start an HTTP tunnel
tcp start a TCP tunnel
tunnel start a tunnel for use with a tunnel-group backend
EXAMPLES:
ngrok http 80 # secure public URL for port 80 web server
ngrok http --domain baz.ngrok.dev 8080 # port 8080 available at baz.ngrok.dev
ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22
ngrok http 80 --oauth=google --oauth-allow-email=foo@foo.com # secure your app with oauth
Paid Features:
ngrok http 80 --domain mydomain.com # run ngrok with your own custom domain
ngrok http 80 --allow-cidr 2600:8c00::a03c:91ee:fe69:9695/32 # run ngrok with IP policy restrictions
Upgrade your account at https://dashboard.ngrok.com/billing/subscription to access paid features
Upgrade your account at https://dashboard.ngrok.com/billing/subscription to access paid features
Flags:
-h, --help help for ngrok
Use "ngrok [command] --help" for more information about a command.
ERROR: authentication failed: Usage of ngrok requires a verified account and authtoken.
ERROR:
ERROR: Sign up for an account: https://dashboard.ngrok.com/signup
ERROR: Install your authtoken: https://dashboard.ngrok.com/get-started/your-authtoken
ERROR:
ERROR: ERR_NGROK_4018
ERROR: https://ngrok.com/docs/errors/err_ngrok_4018
ERROR:
アクセストークンを発行しろと言われているようなので、指示にしたがってみる。
①下記にアクセス
https://dashboard.ngrok.com/signup
②ログイン、2段階認証
③リカバリーキーを保存
④自分のポジションや用途に関する質問に答える
⑤下記にアクセス
https://dashboard.ngrok.com/get-started/your-authtoken
⑦Command Lineをコピーして、ターミナルで実行
コマンドを再実行すると、下記のようになった。
$ ngrok http 8080
ngrok (Ctrl+C to quit)
Sign up to try new private endpoints https://ngrok.com/new-features-update?ref=private
Session Status online
Account xxxxxxxxxx@gmail.com (Plan: Free)
Version 3.14.1
Region Japan (jp)
Latency 39ms
Web Interface http://127.0.0.1:4040
Forwarding https://xxxx-xx-xxx-xxx-xx.ngrok-free.app -> http://localhost:8080
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
いけた!
ForwardingのURLにアクセスしてみると…
表示できました!
約半日くらいで、諸々の調査や実作業が完了しました!
使いたい用途としては、いやそれスマホのアプリでええやんって感じではあるのですが、最近こういうことをしていなかったので、よい刺激になりました!