【发布时间】:2016-09-07 17:16:22
【问题描述】:
我想为用户提供使用网页上传文件的选项。 远程服务器通过 SCP 接受文件。 这些文件通常是 ISO 文件 (> 2GB)
这是流程:
File ----> Web page(PHP/JS) --- Apache
|
|
scp
|
|
v
SCP Remote server
是否可以通过网页做到这一点? 通常用户会启动 SCP 客户端并开始传输,但此页面的目的是在用户和服务器之间建立直接通信,而我的 Web 应用程序只是为了透明地启用它(传递用户名/密码和 scp 参数)。我在 PHP 中找到了这个函数:
http://php.net/manual/en/function.ssh2-scp-send.php
由于 PHP 是服务器端,它会在 Apache Web 服务器中查找本地文件。我可以尝试 2 跳解决方案,但由于文件很大,这将使传输时间加倍。任何推荐的客户端库(HTTP 到 SCP)?
【问题讨论】:
-
如果您的用户实际上拥有所有需要的访问权限(连接远程服务器的访问权限和有效凭据),那么这一层只会大幅增加您的机器的负载和流量,而对用户几乎没有好处。这种方法的唯一优点是对用户隐藏远程服务器,如果他们可以直接访问它,这将毫无意义。
-
我的问题更多是在技术方面。用例是用户无法访问远程服务器,也没有 Linux 技能来执行 scp -P 8022 root@1.1.1.1:/file.tar.gz 或获取 Windows SCP 客户端。
-
HTTP 不是 SCP。它们是完全不同的协议。 JavaScript 不允许创建任意 TCP/IP 连接,所以,不,没有浏览器插件是不行的。不过,您始终可以使用通过 HTTPS 工作的文件上传器插件。
标签: javascript php apache chunking