我首先将 Apache 作为 ZoneMinder 设置的一部分进行安装。然后我使用 ownCloud 设置将其添加到服务器。所有这些只能通过 LAN 或 WAN-through-ssh 进行访问,并且该部分运行良好。
我现在希望让我的 ownCloud 服务在 WAN 上可见,以便家人可以利用它;这需要通过常规 http 进行。我在某种程度上已经成功了,但对我的服务器的一些请求得到了目录列表的回复,我一点也不喜欢。例如,http://mysite.cloudns.pro:1234/
返回以下内容:
Index of /
[ICO] Name Last modified Size Description
[DIR] html/ 2015-06-24 11:20 -
[DIR] owncloud/ 2015-06-04 09:43 -
Apache/2.4.7 (Ubuntu) Server at mysite.cloudns.pro Port 1234
/zm
我已经通过添加以下内容成功从 WAN 锁定/etc/zm/apache.conf
:
Order deny,allow
Deny from all
Allow from 192.168 localhost
我如何对默认 Apache 页面(index.html
)和根/
页面执行相同操作?
答案1
在以下机构的帮助下https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing
可以执行以下操作,以便仅将 ownCloud 服务提供给 WAN。它们可能是多余的,但结合起来只能使系统更安全。
1)假设不需要,Apache 的默认主页可以移至存储位置(并移出活动站点):
$ sudo mv /var/www/html/index.html ~/index.html.orig
2)为了防止从 WAN 访问 ZoneMinder,更改/etc/zm/apache.conf
为包含以下内容将使服务器做出响应,Forbidden
除非从 LAN 内部请求该页面:
Order deny,allow
Deny from all
Allow from 192.168 localhost
3a) 为了防止/
显示目录列表而是显示,请在 '/' 条目中Frobidden
添加关键字:Indexes
/etc/apache2/apache2.conf
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Require all denied
</Directory>
Indexes
3b) 并从所有其他列表中删除该关键词<Directory>
。
最后,重新启动apache2:
$ sudo service apache2 restart