N_OR’s diary

無職が何か言ってる

自宅のサーバ公開

勉強がてらlaravelで作ったwebアプリを外部に公開するため、AWSのアカウント作って遊んでみようと思ったものの、なぜか支払用カードの認証が通らずAWSが使えない。。
とりあえず遊ぶだけなのでサーバは自宅内に置いて、外のネットワーク(WAN)からアクセスできるようにする。
設定としてはポートフォワーディング(このポートでアクセスが来たら、あのIPに接続する、的な設定)を利用する。

環境メモ

  • 自宅のモデム型番確認
     →HUMAX HG100R-02JG
  • 自宅マシン
     →ローカルipアドレスは192.168.0.11。モデムから払い出されたIPを素直に使ってる状態。
  • webサーバ
     →自宅マシンの中に、http,httpsを受けるサーバ(dockerコンテナ)が起動している。

自宅マシンはモデム経由でWANにアクセスできる状態になっているものとする。

モデムの設定変更

ブラウザでモデム(192.168.0.1)にアクセス。 f:id:N_OR:20210914151459p:plain

アカウントは本体に記載されているようなのでそれを参照。
ログイン直後の画面。
WAN IP アドレスが外からアクセスするためのIPアドレスなので覚えておく。
右下のネットワークも詳細設定へ。 f:id:N_OR:20210914151716p:plain

ポートフォワーディングを利用する。 画面左の 詳細設定→フォワーディング f:id:N_OR:20210914152040p:plain

これに以下を設定。 詳細設定→フォワーディング を選択して以下を設定。

HTTPの設定例

項目 設定値
説明 任意
プロトコル 両方
アプリケーションとポート ユーザ定義(今回はHTTPでも良い気はする)
LAN側 LAN内のマシンのIPアドレス
LAN側ポート 80~80
WAN側 デフォルト(0.0.0.0)
WAN側ポート 80~80

設定後、グレーアウトしている有効ボタンを押して緑色にする。
同様にポート443(HTTPS)を追加する。追加ボタン押下後、ポートを443として上記と同じ手順。
その後、適用。

WAN側からアクセス

ブラウザでWAN IP アドレスにアクセスして、webサーバが見られればOK。