要想让自己电脑上的apache服务器被局域网内其他电脑访问需要两步:
1.系统设置
在 控制面板 > 系统和安全 > Windows防火墙中 左侧点击 高级设置 点击左侧 入站规则,然后点击右侧的 新建规则,然后在弹出的入站规则向导中依次是 规则类型:端口 协议和端口我们选的是 TCP 协议和 特定本地端口(例:80) 操作:允许连接 何时应用规则中选中所有(域、公用、专用) 输入名称和描述(例:局域网80端口) 点击完成,就OK了。
2.apache配置文件中设置访问权限 (apache2.4)
<Directory /> AllowOverride none #Require all denied Require all granted </Directory>
将以上require all denied 改为require all granted 即可
完成以上步骤,在局域网内其他电脑浏览器输入“我的ip” 即可访问我的电脑中www目录下的web应用。
Apache2.2和Apache2.4中httpd.conf配置文件有差异
下面看一下 Apache2.4 的变化:(官方英文说明)
所有的请求都被拒绝
2.2上的配置
Order deny,allow Deny from all
2.4上的配置
Require all denied
所有请求都是允许的
2.2上的配置
Order allow,deny Allow from all
2.4上的配置
Require all granted
在域中的所有主机都可以访问example,所有其他外网主机的访问被拒绝
2.2上的配置
Order Deny,Allow Deny from all Allow from example.org
2.4上的配置
Require host example.org
要想外网访问将 Require local 该为 Require all granted 。
123456经常会用到的:
Require all denied
Require all granted
Require host xxx.com
Require ip 192.168.1 192.168.2
Require local
举例说明
仅允许IP:192.168.0.1 访问
Require all granted Require ip 192.168.0.1
仅禁止IP:192.168.0.1访问
Require all granted Require not ip 192.168.0.1
允许所有访问
Require all granted
拒绝所有访问
Require all denied
默认是 Require local 仅允许本地访问。