なお、環境は Linux (Ubuntu)です。
Node-RED の設定は変更しなくて OK
さて、そもそも Node-RED の setting.js には uiPort という設定項目があるので、そこを変えればいいのかと思いきや、1024 以下のポートは root の権限が必要になるので、その方法では Node-RED を root で実行しなければならなくなります。
しかし、それはセキュリティ的に良くないので、一般的には 80 番ポートへのアクセスを 1880 番へ転送する、という手法が取られます。
なので、uiPort の設定を変更する必要はありません。
iptables はパケットフィルタリングや NAT などの設定を管理することができるツールですが、詳細についてはググってくださいw
とにかく手順だけ説明しますw
次のコマンドを実行することで、1880 番ポートから 80 番ポートへ転送されるようになります。
しかしここではより手軽に、インストールするだけで設定を永続化できる iptables-persistent というツールを利用することにします。
下記コマンドでインストールします。
これだけで、再起動しても iptables の設定が有効なままになります。わー便利!
ちなみに、設定ファイルは以下の場所にあります。
/etc/iptables/rules.v4
/etc/iptables/rules.v6
また、任意のタイミングで保存や読み込みをさせたい場合は、以下のコマンドを用いるようです。(動作未確認)
なので、uiPort の設定を変更する必要はありません。
80 番ポートから 1880 番ポートへリダイレクトする設定
では、具体的にどのようにリダイレクトさせるのかというと、Linux に標準でインストールされている iptables というツールを利用します。iptables はパケットフィルタリングや NAT などの設定を管理することができるツールですが、詳細についてはググってくださいw
とにかく手順だけ説明しますw
次のコマンドを実行することで、1880 番ポートから 80 番ポートへ転送されるようになります。
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 1880ただし iptables は設定をメモリ上に記憶しているだけなので Linux が再起動すると設定が消えてしまいます。
iptables の設定を保存・永続化する
そこで、多くの場合は iptables-save と iptables-restore というコマンドを利用して、iptables の設定をファイルに書き出して、システム再起動時に読み込ませるという手法が取られています。しかしここではより手軽に、インストールするだけで設定を永続化できる iptables-persistent というツールを利用することにします。
下記コマンドでインストールします。
sudo apt install iptables-persistentインストール中に現在の設定で IPv4 と IPv6 の設定ファイルを作成するか聞かれるので、どちらも Yes を選択します。
これだけで、再起動しても iptables の設定が有効なままになります。わー便利!
ちなみに、設定ファイルは以下の場所にあります。
/etc/iptables/rules.v4
/etc/iptables/rules.v6
また、任意のタイミングで保存や読み込みをさせたい場合は、以下のコマンドを用いるようです。(動作未確認)
sudo netfilter-persistent saveおしまいヽ(=´▽`=)ノ
sudo netfilter-persistent reload
0 件のコメント:
コメントを投稿