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

时间:2016-02-16 08:25:11

标签: .htaccess openvpn

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

1 个答案:

答案 0 :(得分:2)

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

Listen 10.1.2.3:80

这样你就可以绑定Apache - 即接受传入的请求 - 仅限于该地址。

此外:

  

Listen指令不实现虚拟主机 - 它只是告诉   主服务器要监听的地址和端口。如果不    使用指令,服务器将表现相同   所有接受的请求的方式。但是,可以用来   为一个或多个地址指定不同的行为或   端口。要实现VirtualHost,必须首先告知服务器   听取要使用的地址和端口。然后一个   应为要设置的指定地址和端口创建节   此虚拟主机的行为。请注意,如果是   设置服务器没有收听的地址和端口,它   无法访问。

即。你可以保留原始的listen指令(监听所有接口)并过滤每个虚拟主机的访问权限,使你的“私有”虚拟主机配置如下:

<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服务器。