nodeSolidServer / nodeSolidServer/node-solid-server
Server option --redirect-http-from doesn't redirect correctly
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.8k
- Forks
- 308
- PR merge metrics
- No merged PRs in 30d
Description
I'm using
/opt/solid $ solid -V
5.3.1
from the nodesolidserver/node-solid-server image on docker hub.
The documentation for solid start says:
--redirect-http-from [value] HTTP port or ','-separated ports to redirect to the solid server port (e.g. "80,8080").
If I start the server like this (using the default listen port for https on 8443)
solid start --redirect-http-from 8000
then I get a log message:
nss_1 | Thu, 16 Jul 2020 13:10:25 GMT solid:settings will redirect from port 8000 to port 8443
However, if I make a request to this port over HTTP, I get this:
$ curl -v http://localhost:8000
* Rebuilt URL to: http://localhost:8000/
* Trying ::1...
* TCP_NODELAY set
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 302 Found
< X-Powered-By: Express
< Location: https://localhost,8000:8443/
< Vary: Accept
< Content-Type: text/plain; charset=utf-8
< Content-Length: 50
< Date: Thu, 16 Jul 2020 13:10:34 GMT
< Connection: keep-alive
<
* Connection #0 to host localhost left intact
Found. Redirecting to https://localhost,8000:8443/
It seems like this has incorrectly read the parameter when creating the redirect server.
Additionally, from the usage text and the code, it seems like you should be able to add multiple http listen ports:
solid start --redirect-http-from 8000,8080,8888
But I get this as an output:
nss_1 | Thu, 16 Jul 2020 13:15:55 GMT solid:settings will redirect from port 8000,8080,8888 to port 8443
In this case I would expect to get this message 3 times, once for each port.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the implementation of the redirect-http-from option and the redirect server setup. Reproduce the commands with one port and comma-separated ports; done means the Location header uses the correct host and target port, and each configured HTTP port is handled separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100