仅允许通过VPN私人访问网站



我知道这可能是非常基本的,但我的服务器上有一个网站,我只想通过VPN访问。 我的Windows机器上运行了OpenVPN,并且它正在使用VPN连接到我的服务器。 当VPN连接时,我可以使用VPN的IP地址访问服务器上的站点。我想阻止所有其他方法,例如实际的站点 IP 或我的域名。 我会使用 htaccess 吗? 通常仅对专用访问执行的操作。

假设您的服务器vpn IP是10.1.2.3,那么您应该添加到您的Apache配置中

Listen 10.1.2.3:80

以便您将 Apache 绑定 - 即将接受传入的请求 - 仅绑定到该地址。

也:

侦听指令不实现虚拟主机 - 它只告诉 主服务器要侦听的地址和端口。如果没有 使用指令,服务器的行为将相同 所有已接受请求的方式。但是,可用于 为一个或多个地址指定不同的行为,或者 港口。要实现虚拟主机,必须首先告诉服务器 侦听要使用的地址和端口。然后一个 应为要设置的指定地址和端口创建部分 此虚拟主机的行为。请注意,如果 为服务器未侦听的地址和端口设置,它 无法访问。

即,您可以保留原始侦听指令(侦听所有接口(并过滤每个虚拟主机的访问,并按如下方式配置您的"私有"虚拟主机:

<VirtualHost 10.1.2.3:80>

见 http://httpd.apache.org/docs/2.4/bind.html

最后,如果由于某种原因您仅限于 .htaccess,那么您可以在 .htaccess 中执行此操作:

Order Deny,Allow
Deny from all
Allow from 10.1.2.1/24

即仅允许从您的VPN子网访问。

请注意,每次更改后都需要重新启动 Web 服务器。

最新更新