nodeSolidServer / nodeSolidServer/node-solid-server

Server option --redirect-http-from doesn't redirect correctly

未关闭
#1,447 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 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.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先定位 redirect-http-from 选项的实现和重定向服务器设置。分别使用一个端口和以逗号分隔的多个端口重现这些命令;当 Location 标头使用正确的主机和目标端口,并且每个配置的 HTTP 端口都被单独处理时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript
领域
backend, cli
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。