nodeSolidServer / nodeSolidServer/node-solid-server
Server option --redirect-http-from doesn't redirect correctly
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.8k
- 派生
- 308
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先定位 redirect-http-from 选项的实现和重定向服务器设置。分别使用一个端口和以逗号分隔的多个端口重现这些命令;当 Location 标头使用正确的主机和目标端口,并且每个配置的 HTTP 端口都被单独处理时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- backend, cli
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100