数ヶ月の間、
Mac mini 2011を外出先からアクセスできる
Webアプリケーションサーバーとして稼働していました。
理由としては・・・
- Mac miniは省電力
- Iaasの仮想マシンを利用する場合、安いプランだと性能が貧弱だったりする。
- だったらメモリ8GB積んでるMac miniをサーバーとして利用すればいいんじゃね。
的な内容でした。しかしながら、無線LANで運用している状況で、
WiFiネットワークの切断がよく発生しました。さらに言うと、
Macのファイアウォール機能を無効にしないと外部からアクセスできない状況が確認でき、
セキュリティ的にもどうなのかなということで、今はサーバーを停止しています。
その時にどのように設定したのかをまとめます。
ルーターの設定
ルーターの機種によって変更箇所は異なると思います。あくまでご参考までに。
プライベートIPアドレスの固定
Mac miniのMACアドレスとプライベートIPを紐づけて、プライベートIPアドレスを固定する。
参考画像:
ポート転送の指定
グローバルIPアドレスにアクセスした場合に、Mac miniの80番ポートに転送するように設定する。
参考画像:
Nginxの設定
リバースプロキシの変更
Nginxはbrewを使ってインストールしました。
当初はSpring Bootで稼働するWebアプリケーションと
Kibanaに外部からアクセスしたかったので、Nginxでリバースプロキシの設定をしました。
/user/local/etc/nginx/nginx.confの修正
# 下記のようにリバースプロキシの設定を行なっていた。 # "/sb"がSpring Boot # "/kibana"がKibana # server_nameにはドメインを設定(多分不要な設定) server { listen 80; server_name .xxx.xx; access_log /var/log/nginx/host.access.log main; location / { root html; index index.html index.htm; } location /sb { proxy_pass http://localhost:8080/; } location /kibana/ { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; rewrite /kibana/(.*)$ /$1 break; } }
Dynamic DNSの設定
MyDNSというサービスを使います。
www.mydns.jp
ドメインの登録
画像を参考に、ドメインを初期登録する。
IPアドレスの登録
グローバルIPアドレスを登録する。
※この時、IPv6アドレスは適当でしたがWANからのアクセスは問題なくいけました。
Mailの設定
MyDNSにIPアドレスを通知する仕組みを作る必要があります。
私の場合、IPv4アドレスは固定のようですが、IPv6アドレスが固定ではありませんでした。
ですので、設定します。Macのメールアプリを使ってアカウント登録します。
メールアプリは起動しっぱなしにします。
アカウントの登録
- メールアドレス:myDNS.JP の ID@mydns.jp
- ユーザー名:myDNS.JP の ID
- パスワード:myDNS.JP の PASSWORD
- アカウントの種類:POP
- メールサーバ:mail.mydns.jp
ドメインの設定
ネームサーバーの変更
取得したドメインのネームサーバーを変更します。
私の場合はムームードメインを利用。
- ネームサーバ1:ns0.mydns.jp
- ネームサーバ2:ns1.mydns.jp
Mac miniの設定
Firewallのオフ
Firewallをオフにしないと外部ネットワークから接続できなかった。
「設定」→「セキュリティとプライバシー」から、「ファイアウォール」を選択。
ファイアウォールを切に設定する。
参考画像:
上記の設定によりWANからWebアプリケーションサーバーにアクセスできるようになりました!
LAN内だとドメインで名前解決できないという現象が発生していましたが、
その場合はプライベートIPでアクセスすればよかったので特に不便を感じていませんでした。
以上です!