0

There is a popular Open Source application written in Javascript Node.js that listens to port localhost:1234 under my regular, non privileged account.

When connecting from localhost everything works perfectly. The idea, however is to make that service accessible to anybody on the WWW.

Efforts to have Apache send requests to that port have failed. See Virtual/Proxy Host configuration below. The requests are passed but all that happens is that the directory contents are listed. Connections to http://example.com:1234 are ignored. Why?

Is there a way to make that server "legitimate" or "trusted"?

Before attempting to run that server as root or Apache, I rather search for your expert advice here.

#
# Potree Plain Protoserver
#
<Location /potree-1234>
  ProxyPass http://localhost:1234
  ProxyPassReverse http://localhost:1234
</Location>
#

NB: I installed a "Hello, world" server, also based on Node.js and it works fine with a URL such as:

http://example.com/hello-world

Christopher H
  • 338
  • 2
  • 16

1 Answers1

0

It's quite simple - the application is being told to only listen on the loopback address, localhost/127.0.0.1. As it is only listening on this address, any requests on any other interfaces will be rejected. You need to reconfigure your application to listen on multiple IP addresses, or listen on all.

Christopher H
  • 338
  • 2
  • 16
  • This is the application in question: https://github.com/potree/potree If anybody can tell me how to modify it so it listens properly, I would really appreciate it – David Alarcon Aug 17 '20 at 22:51
  • That is a whole other question, which would require a new question to be posted. All I'll say is that if it is an application that runs on a web server, look at the server bindings. – Christopher H Aug 17 '20 at 22:54
  • I thought so. : -) – David Alarcon Aug 17 '20 at 23:00