大家好,我对这个真的很陌生,如果我搞错了所有的术语,请原谅我。我已经设法为我的小企业运行了一个 lamp-server,并创建了一个在服务器上运行的小型 webapp。如何配置 apache 以仅允许同一网络中的其他设备连接并限制其他所有人的访问?我试图实现的是否称为 Intranet 服务器?如果是,我应该注意哪些安全方面?
提前致谢!我期待向你们学习。
答案1
Allow、Satisfy 和相关指令已被弃用,它们仅作为模块的一部分用于向后兼容mod_access_compat
新方法是使用模块mod_authz_host
和Require
指令。(关联)
不建议将两者混合使用。引用这个官方来源
mod_access_compat 提供的 Allow、Deny 和 Order 指令已弃用,并将在将来的版本中消失。您应避免使用它们,并避免使用推荐使用它们的过时教程。
如果你想限制到本地网络,你可以这样做
<Directory /var/www/ncp-web/>
Require host localhost
Require ip 127.0.0.1
Require ip 192.168
Require ip 10
</Directory>
删除所有允许指令。
答案2
只需在 Apache 配置中创建一个 VirtualHost 来限制对它的访问即可。这是一个示例:
<VirtualHost *:80>
DocumentRoot "/var/www/"
ServerName www.example.com
<Directory "/var/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order deny,allow
Allow from all
Require 192.168.0.1/24
</Directory>
</VirtualHost>
提供Require
了多种允许或拒绝访问资源的方法。在我的示例中,它仅限制对子网 192.168.0.1/24 的访问。
答案3
您可以使用-Listen 指令选项来接受两个指定接口和端口号上的连接
更改 ports.conf 使其包含:
监听 127.0.0.1:80 监听 127.0.0.1:8000
请参阅链接了解详细信息:http://httpd.apache.org/docs/2.0/mod/mpm_common.html#listen
{或者}
在您启用站点功能的网站中。
应限制 Apache 服务仅向 localhost 以外的任何人开放,具体服务范围如下:
顺序拒绝,允许拒绝所有允许来自 127.0.0.0/255.0.0.0 ::1/128