我在 Windows 中配置了我的 Apache 2.2,如下所示:
首先从顶层路径自上而下拒绝所有访问...
<Directory "/">
Options None
AllowOverride All
Order deny,allow
Deny from all
</Directory>
其次配置虚拟主机,一个用于 DynDNS 允许所有人访问,另一个用于本地主机,仅限制本地 IP 访问...
Listen *:80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dyndnsdomain.example.com
DocumentRoot "/PathTo/dyndnsdomain/htdocs/"
<Directory "/PathTo/dyndnsdomain/htdocs/">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName localdomain
DocumentRoot "/PathTo/localdomain/htdocs/"
<Directory "/PathTo/localdomain/htdocs/">
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
第三,hosts文件...
127.0.0.1 localdomain
问题是我无法访问 DynDNS 域。DynDNS 和端口转发配置正确。我的路由器也会向我的 DynDNS 提供商发送更新。指令Directory
按预期工作,而删除它们会限制对本地主机的访问。
我的问题是:
- 我的 Apache 配置正确吗?
- 如果不是,我应该改变什么?
- 如果有,有什么建议吗?哪里出了问题?
答案1
这很难说:关键字防火墙
2 年前我决定限制 Apache 的远程访问,但我完全忘记了这一点,因为我通常不会因为我曾经做的设置而遇到麻烦。
因此回答我的问题:
- 这些 Apache 设置是正确的。
- 无
- 检查防火墙设置!