我最近在计算机上安装了 Apache HTTP 服务器。我有两个问题:
- 当我从浏览器输入我的 IP 时,我会看到文件/目录列表,就像在 FTP 服务器中一样。这是 Apache 或 Chrome 浏览器的内置功能吗?
- 更重要的是 - 如何将文件从远程计算机上传到我的服务器中的选定文件夹?我真的很赶时间,我想也许有一种内置的方法可以做到这一点,但找不到。有吗?
提前致谢
答案1
我最近在计算机上安装了 Apache HTTP 服务器。我有两个问题:
当我从浏览器输入我的 IP 时,我会看到文件/目录列表,就像在 FTP 服务器中一样。这是 Apache 或 Chrome 浏览器的内置功能吗?
这是 Apache 的一个功能。默认情况下,mod_dir模块已加载,并且Indexes
选项已启用。其效果是,如果有人访问目录(该目录没有适当的索引页)而不是特定文件,那么就不会返回404,Apache 动态生成一个显示文件列表的目录列表网页。
通常认为不建议保持此选项处于启用状态,因为它通常会导致暴露不应该暴露的文件,因此禁用它通常更安全:
- 打开
httpd.conf
文件 - 找到您的目录根目录(例如
<Directory …>
) Indexes
从指令中删除值Options
:
Options FollowSymLinks MultiViews Indexes
→
Options FollowSymLinks MultiViews
更重要的是 - 如何将文件从远程计算机上传到我的服务器中的选定文件夹?我真的很赶时间,我想也许有一种内置的方法可以做到这一点,但找不到。有吗?
并非如此。Apache 是一个网络-server,这意味着它主要用作单向服务器,用于获取网页并将其发送给客户端。一些上传功能可用于将页面上传到服务器,但这需要安装和配置后端服务器软件,如 PHP、Perl、Ruby、CGI 等,以及设置适当的服务器页面和客户端界面页面。
如果你想要做的只是将文件上传到服务器,那么你最好安装一个FTP(文件传输协议) 服务器。流行的(开源)FTP 软件是档案其中包括客户端和服务器组件。
只需记住设置一个帐户和密码;您不想将其保持打开状态,否则人们可能会将其用作非法文件的文件转储并填满您的驱动器。
答案2
1) 这是 Apache 的一个功能。如果找不到 index.html 或 index.php 文件,它将显示根目录中所有文件的列表。
2) 这取决于您的设置。如果您的计算机上安装了 Apache,Apache 中会配置一个路径来定义网站的起始位置。
如果您只是将文件复制到该目录中,那么这就是将文件“上传”到您的服务器。
了解一下 Web 服务器的工作原理可能是一个好主意,这样您就可以对 Apache 在您的计算机上执行的操作有一个基本的了解。