Node.jsで作成したアプリに、Apache2からアクセスするときの設定事項についてメモっておきます。
こちらの記事の通りにやってみたんですが、以下のエラーが出てApache2の再起動に失敗しました。
Invalid command ‘ProxyPass’, perhaps misspelled or defined by a module not included in the server configurationProxyPassコマンドを使えるようにするために、これに関するモジュールをインストールしなくてはならないみたいです。
環境
OS: Ubuntu 18.04
Apache2: パッケージインストールしたもの
Node.js: v12.15.0
手順
プロキシー関連のモジュールをインストールする。[参考サイト]
$ sudo a2enmod proxy $ sudo a2enmod proxy_http $ sudo a2enmod proxy_balancer $ sudo a2enmod lbmethod_byrequests
設定ファイルの作成
/etc/apache2/conf-available/node.confを作成する。
<Location /node/> ProxyPass http://localhost:1234/ ProxyPassReverse http://localhost:1234/ Order deny,allow Deny from all Allow from all </Location>
シンボリックリンクを張る。
$ /etc/apache2/conf-enabled $ sudo ln -s ../conf-available/node.conf node.conf
Apache2を再起動する。
$ sudo service apache2 restart
連携プレー
Node.jsで書いたアプリを1234番ポートで起動する。
http://localhost/node/にアクセスすれば、Node.jsアプリの画面が表示される。