服务器文件下载

服务器文件下载

我在 Azure 上运行 Ubuntu 虚拟机,在我的登录页面上,我希望允许下载已上传到服务器的文件。为此,我使用 href 标签在 index.html 文件中创建了一个超链接,但除此之外,我还想导航到它,但事实证明我无法完成这两种方法。具体来说,在输入我的私有 IP 地址 xx.xxx.xxx.xx 后跟“/”并尝试不同的文件路径(位于 /home/username/file.ext)后,我在浏览器中获得 404 Not Found。是否有人更了解是否必须通过启用设置来共享文件,因为除非需要,否则我不想使用 Azure Files 和 SharePoint 等替代选项。

答案1

为了能够通过 http/https 下载文件,必须将其存储在服务器管理员指定为可公开访问的文件系统中。

您的个人主目录/home/username/不可公开访问,并且管理员也绝不应将其设置为可公开访问。

将您的文件放在 Web 服务器的默认 DocumentRoot(子目录)中(通常是/var/www/html),或者您的网站使用的任何其他位置。

当你有许多用户想要允许他们使用个人网站和下载区域时,你可以启用并使用 Apache 的用户目录按照惯例,将每个/home/<login>/public_html/子目录(尽管您可以调整public_html子目录名称)指定为可公开访问的,并且其中的内容将在未来http[s]://www.example.com/~login/

如果文件已存储在系统中的正确位置,但下载仍然失败,请检查 Web 服务器(错误)日志以查找原因。例如,文件系统权限不正确也可能会阻止下载。

相关内容