この記事の続きです。

DockerでRedmineを動かしてみる①

2021年くらいにDockerに立てた個人的なRedmineに、外からもアクセスしたいなーと思うようになり、AWSとかいろいろ検討した結果、このままHTTPS化できたら幸せ、という結論…

今回は、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にアクセスしてみると…

表示できました!


約半日くらいで、諸々の調査や実作業が完了しました!
使いたい用途としては、いやそれスマホのアプリでええやんって感じではあるのですが、最近こういうことをしていなかったので、よい刺激になりました!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA