まるで v0.19.5 が悪いかのようなタイトルですが、何が原因かは分かってません(ぉぃ)
AWS 上の Node-RED v0.19.4 なら大丈夫なのに Azure 上の Node-RED v0.19.5 だと file ノードで日本語を含むテキストを出力すると、ガッツリ文字化けします。
ちな、どちらも Ubuntu です。
しょうがないので Azure 上の Node-RED v0.19.5 では exec ノードを使ってテキストファイル書き出してます。
こーいうのどこに聞けば良いのかなー?(´・ω・`)
【2019/01/30追記】
Raspberry Pi (Raspbian) の Node-RED v0.19.5 でも文字化けしました。
えー、ダウングレードってどうやるーん?(´・ω・`)
【2019/02/12追記】
一度 npm で削除してから v0.19.4 を再インストールしたら文字化けしなくなりました。
ちなみに v0.20.0-beta.4 では化けました。ぬー…
2019年1月28日月曜日
2019年1月21日月曜日
Node-RED を 80番ポート(port 80)でアクセスできるようにする方法
Node-RED は通常 1880 番 port を使用しますが、ブラウザ(HTTP)でアクセスしたときに使用される標準の 80 番 port でアクセスできるようにする方法です。
なお、環境は 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
登録:
投稿 (Atom)