如何通过 file:// 协议在远程机器上打开静态网页

如何通过 file:// 协议在远程机器上打开静态网页

在远程计算机上,代码文档(静态 HTML 页面)位于/path/to/docs

要访问它,推荐的方法是启动 NoMachine,获取虚拟桌面,启动 Web 浏览器(Firefox)并打开file:///path/to/docs

我想知道是否可以通过 ssh、代理或其他方式在本地网络浏览器上打开这些文件。

例如:

file://///remote_adress/path/to/docs

答案1

不可能简单地插入远程机器的地址并查看其文件。

然而,您确实有一些选项可以让您实现所需的结果。

设置 Web 服务器(首选)

您可以在远程机器上安装一个 Web 服务器,并配置它来提供您所需的页面。这是最明智的方法,将导致您的浏览器发出 HTTP 请求来检索文件。

  • 如果你使用的是 Windows,那么你也许可以使用互联网信息服务
  • 你可以使用Nginx或者阿帕奇在大多数(所有?)平台上 - Windows、Linux、OSX

对于这种方法,您可以使用标准 URL,例如:

http://remote_host/index.html

这也允许你利用动态内容,通过服务器端脚本

如果你无法监听端口 80/443(因为你不是 root 用户),那么你仍然可以监听非特权端口(即:大于1024)...例如8080,这是一种常见的替代方案。

挂载远程文件系统

这种方法完全取决于您所使用的操作系统。

我不熟悉 macOS,所以没有讨论它。

视窗

如果您使用的是 Windows,则需要“分享“远程计算机上的文件夹,然后您才能在本地访问它。关于如何做到这一点,有很多指南。

共享目录后,您可以使用以下 URL:

file://////remote_host/share_name/index.htm

您还可以在本地映射(挂载)共享目录,例如作为您的X:驱动器(请注意三重斜杠):

file:///X:/index.htm

Linux/*nix

您有多种在本地挂载远程目录的选项(NFSSSH文件系统桑巴等...)。一旦安装,您可以使用与在您的虚拟金融服务

例如,如果您运行sshfs user@remote_host:/path/to/files /mnt/remote,则以下内容将起作用:

file:///mnt/remote/index.html

答案2

这通常不是可能。该file:协议只能用于打开(2)(或其跨平台等效物)可以处理。我从未见过任何东西支持 URL 的“主机”部分。

在 Windows 上,这还包括文件共享。URL 如下所示:

file://///server/share/My%20file.html

在 Linux(可能还有大多数 UNIX-y 系统)上,您需要将其放在 VFS 树中的某个位置。您可以通过以下方式实现此目的安装使用 NFS、Samba、sshfs 等在本地访问远程文件系统。当然,这意味着必须可以使用其中一种协议访问远程文件系统,通常需要在远程系统上进行一些设置。

根据您的操作系统和浏览器,您可能能够使用其他 VFS,如 KIO(KDE)、GIO(Gnome)或其他。

相关内容