我想限制对 PHPMyAdmin 等几项内容的访问,仅限已登录并使用 SOCKS 的用户。为此,我想在 Apache 中创建一个虚拟主机。我猜基本步骤是像往常一样设置一个虚拟主机,然后在服务器的主机中放置一个条目以指向该域主页,但我不确定如何将实际的虚拟主机限制为此类用户。非常典型的 Ubuntu 服务器,LAMP 堆栈,安装在 VPS 上。删除了一些不重要的东西后,我一直在使用以下方法设置 VHost:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DirectoryIndex index.html index.php
DocumentRoot /home/user/public_html/example.com/public
</VirtualHost>
需要明确的是,我理想情况下并不想仅仅限制用户的 IP,除非我想要的方法或多或少无法实现。
答案1
实际上,确保他们使用 SOCKS 很容易:限制对 SOCKS 服务器本身的 IP 的访问。
答案2
如果你不能通过 IP 区分客户端,那么你的机会就很小了。我会用 htadmin/htpasswd 密码保护 phpMyAdmin 目录。
我认为不需要创建虚拟主机。另外要考虑到虚拟主机并不安全,因为它们依赖于可能被恶意客户端欺骗的 HTTP 标头。