我有一个带有 apache2、php、mysql 的生产服务器。我现在只有一个站点(mysite.com)作为虚拟主机。我想把 phpmyadmin、webalizer 和 webmin 放在那里。到目前为止,我安装了 phpmyadmin,它可以工作,但整个互联网都可以访问 mysite.com/phpmyadmin
如何将可见性降低到 192.168.0.0/16,以便防火墙后面的机器可以访问它?
我有一个带有 apache2、php、mysql 的生产服务器。我现在只有一个站点(mysite.com)作为虚拟主机。我想把 phpmyadmin、webalizer 和 webmin 放在那里。到目前为止,我安装了 phpmyadmin,它可以工作,但整个互联网都可以访问 mysite.com/phpmyadmin
如何将可见性降低到 192.168.0.0/16,以便防火墙后面的机器可以访问它?
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
您将在 Apache 中使用一个名为mod_access的模块
您可以在 apache 配置文件或目录根目录的 .htaccess 文件中对其进行配置。
这是一个简短的例子
<Directory /your_folder/location>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Directory>
使用<Location>指令(在服务器配置中,或者如果允许,在 .htaccess 中)。在那里,您可以使用拒绝访问除某些特定来源之外Allow from
的其他所有人。