3

我有一个带有 apache2、php、mysql 的生产服务器。我现在只有一个站点(mysite.com)作为虚拟主机。我想把 phpmyadmin、webalizer 和 webmin 放在那里。到目前为止,我安装了 phpmyadmin,它可以工作,但整个互联网都可以访问 mysite.com/phpmyadmin

如何将可见性降低到 192.168.0.0/16,以便防火墙后面的机器可以访问它?

4

3 回答 3

7

1)您可以在 Web 服务器级别执行此操作。

对 apache 使用允许/拒绝规则。如果您无法直接访问 apache 配置文件,则可以使用 .htaccess 文件。

<Directory /docroot>
    Order Deny,Allow
    Deny from all
    Allow from 10.1.2.3
</Directory>

2) 您可以使用 phpmyadmin 配置文件在应用程序级别执行此操作。

配置参数为:$cfg['Servers'][$i]['AllowDeny']['rules']

规则示例如下:

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24

您可以在官方 phpMyAdmin 配置文档中看到这一点。

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

于 2009-04-02T15:28:47.497 回答
1

您将在 Apache 中使用一个名为mod_access的模块

您可以在 apache 配置文件或目录根目录的 .htaccess 文件中对其进行配置。

这是一个简短的例子

<Directory /your_folder/location>
    Order Deny,Allow
    Deny from all
   Allow from 123.123.123.123
</Directory>
于 2009-04-02T15:28:27.577 回答
0

使用<Location>指令(在服务器配置中,或者如果允许,在 .htaccess 中)。在那里,您可以使用拒绝访问某些特定来源之外Allow from的其他所有人。

于 2009-04-02T15:28:31.320 回答