質問: http.createServer(); server.on("request", function (req, res) { res.writeHead(200, {"Content-type": "text/plain"}); res.write("hello world"); res.end(); }); server.listen(8080); console.log("htdocs server listening..."); ``` --- /etc/apache2/sites-availabled/000-default.conf ``` ServerName <<-- サーバーネームを指定 -->> ProxyRequests Off ProxyPass http://localhost:8080/ ProxyPassReverse http://localhost:8080/ ``` 以下を追記しました。 /etc/apache2/apache2.conf ``` DocumentRoot "/var/www/node" ・ ・ ・ Require all granted ``` ### 環境 Ubuntu 18.04.4 LTS Node.js v12.18.1 Apache/2.4.29 (Ubuntu) --- `curl http://localhost:8080/`とすると`hello world`が帰ってきます。 ただ外部からhttpの5000番ポートでアクセスしても期待する出力が帰ってきません。 詳しい方、回答よろしくお願いいたします。
回答: 回答ではないのですが... curlでの確認はOKとのことですが、nodejs(ポート8080)に直接アクセスしているようなので、 サーバー上で `curl http://localhost:5000` が通るか確認してください。 これでダメなら、apacheの設定がマズイです。 OKならば、サーバー側の設定はOKだと思います。 サーバー側の設定がOKであれば、次に怪しいのはファイヤウォールだと思うので、 `sudo ufw status` でファイヤウォールの許可設定を確認されるとよろしいかと思います。 `状態: 非アクティブ` (英語で書かれているかも)という応答であれば、 `sudo iptables -L` も確認してみてください。