使 Apache Vhost 仅对用户可见

使 Apache Vhost 仅对用户可见

我想限制对 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 标头。

相关内容