AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 419920
Accepted
Ben Holness
Ben Holness
Asked: 2012-08-17 19:21:32 +0800 CST2012-08-17 19:21:32 +0800 CST 2012-08-17 19:21:32 +0800 CST

通过互联网挂载文件系统

  • 772

我为我的一位客户构建了一个在虚拟服务器上运行的 Web 应用程序。它包括供他们上传文件的工具,但他们现在想将这些文件存储在他们办公室的服务器上。

最简单的方法是通过互联网将他们的文件系统直接挂载到虚拟服务器上。我有通过内部网络安装 NFS 的经验,但我不清楚它是否适用于这种情况。

有什么想法吗?我总是可以编写新软件来传输文件,但这很容易解决!

注:办公室的服务器是运行在windows hyper-v环境下的虚拟服务器上的Ubuntu 12服务器。带有网络应用程序的 VPS 是 Ubuntu 11.04

linux
  • 5 5 个回答
  • 29179 Views

5 个回答

  • Voted
  1. Best Answer
    Andy Ross
    2012-08-17T21:22:26+08:002012-08-17T21:22:26+08:00

    还没有人提到sshfs。如果您使用的是现代 linux 发行版并且可以通过 ssh 访问远程主机,那么它很简单:

    sshfs user@hostname:/remote/directory /local/directory
    

    性能是完全可以接受的(但如果您需要整个目录,则不如 rsync 等流式同步快)。

    • 18
  2. truks
    2012-08-17T19:43:23+08:002012-08-17T19:43:23+08:00

    NFS 本质上是不安全的。通过互联网连接将是一个非常糟糕的选择。

    我喜欢提到 rsync 的帖子。我希望您可以简单地从处理文件上传的代码运行 rsync 作业,而不是使用 cron 来触发传输。

    上传完成后,将文件 rsync 到他们的服务器,完成。

    我希望您需要与他们的服务器建立安全连接以进行传输。

    如果你愿意,你可以将传入的文件放入一个列表中进行传输,在成功复制后删除名称,并为自己提供一些故障转移功能,以防连接出现问题。

    正如其他人已经指出的那样,rsync 旨在处理文件组或层次结构(感谢拼写检查),因此这并不难实现。

    • 4
  3. Dale Mahalko
    2015-12-29T17:54:14+08:002015-12-29T17:54:14+08:00

    NFS 可能天生不安全,但这不是服务的错。Telnet 和 FTP 本质上也是不安全的,但它们都已在开放的 Internet 上使用了几十年。如果建立了加密的 VPN 隧道,那么缺少 NFS 加密是无关紧要的。

    此外,如果将防火墙配置为仅允许特定的远程主机地址连接到 NFS 安装点,那么裸 NFS 连接基本上不会受到黑客攻击,除了嗅探互联网流量的三字母机构,它们可以访问强大的解密功能无论如何破解你的加密远程连接。

    我看到某些版本的 NFS 默认使用 UDP,这很可能是 Internet 可靠性问题的来源。如果连接拥塞,UDP 数据包可能会丢失,并且不会自动尝试重新传输。如果您想要可靠的连接,请确保您的 NFS 在 Internet 上使用(或被迫仅使用)TCP 数据包。

    • 2
  4. KodeTitan
    2012-08-17T19:33:18+08:002012-08-17T19:33:18+08:00

    NFS可以通过防火墙来完成。如果您进行搜索,您会发现其他人已经尝试并成功完成了此过程,但是,它不像打开端口那样简单,而且似乎取决于正在运行的 NFS 版本。

    rsync是一个很好的建议,并且具有很大的灵活性。但是,这将是一个在您的应用程序之外运行的进程。rsync 可以处理本地文件更新的同步,并保持整个目录与其他文件夹同步。

    ssh将是另一个安全选项,并且只需要打开一个端口。我过去曾在 Windows 和 Linux 系统之间使用过它,并且在应用程序内部和调度过程中都取得了很好的效果。

    我相信还有其他方法可以完成您正在寻找的东西,但我们需要更多关于这些文件类型的信息,以及您是否将它们链接到页面或将它们与更复杂的内容一起流式传输。

    • 0
  5. truks
    2012-08-17T20:05:27+08:002012-08-17T20:05:27+08:00

    NFS 挂载可以使用 automount 完成,它会在失败时继续尝试挂载,但我考虑在管道上使用它的唯一方法是使用 vpn 或其他一些安全连接(实际上,我不会考虑它,但是你听起来很坚定)。

    即使使用 automount,如果出现网络问题,并且您将他们的上传放在 NFS 挂载上,上传也可能会失败或损坏,除非您将文件存储在本地,然后在上传成功时进行复制。

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve