我知道网上有很多关于远程访问 phpMyAdmin 的文章,但我看到的所有文章都没有奏效(甚至这)。
我想配置 Apache 以允许来自特定 IP 地址的 phpMyAdmin 访问。我知道我可以将其设置为允许全球访问,但这只会带来问题。
这是phpmyadmin.conf
位于 /alias/ 中的文件:
Alias /phpmyadmin "<wamp_installation_root>/apps/phpmyadmin3.3.9/"
# to give access to phpmyadmin from outside
# replace the lines
#
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1 <-- Good idea
#
# by
#
# Order Allow,Deny
# Allow from all <-- IMO, really bad idea
#
<Directory "C:/Web Development/wamp/apps/phpmyadmin3.3.9/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Allow from 127.0.0.1
Allow from <my_public_static_IP_address_also_address_of_server>
Deny from all
</Directory>
我尝试从我在 No-Ip.com 设置的域访问 phpMyAdmin。该域配置为路由到我的开发机器,如下所示:
- 发出请求:
example.no-ip.org:256/phpmyadmin
- 转发给:
<my_public_static_IP_address>:256/phpmyadmin
- Router 收到 request 公共请求,并转发至:
<internal_IP_address>:80/phpmyadmin
最后,我得到了 403 Forbidden 错误。我的服务器配置为在线访问,因为转到example.no-ip.org:256
将带您进入我的主页(好吧,如果那真的是我的域名 :D)。
再次说明一下,我发出请求的计算机也是 Apache 服务器。
对于可能造成这种情况的原因您有什么想法吗?
答案1
来自Apache 手册:
允许、拒绝 - 首先,评估所有允许指令;至少必须有一个匹配,否则请求将被拒绝。接下来,评估所有拒绝指令。如果有任何匹配,则请求将被拒绝。最后,任何不匹配允许或拒绝指令的请求都将被默认拒绝。
所以你要做的就是拒绝一切。试试看Order Deny,Allow
。
和phpMyAdmin版本已低于 3.3.9。请更新以获取最新功能和安全修复。