Nginx和OpenVPN-控制对Wordpress配置文件的访问

时间:2018-07-03 06:25:55

标签: nginx openvpn

我遇到了麻烦,因为我已经设置了LEMP + CSF FireWall + nginx wordpress block + OpenVPN。

所以-我在阻止访问服务器上的wp-login.php文件和/wp-admin目录时遇到了问题。

我已经成功地阻止了那里的任何人,但是我无法通过VPN隧道访问连接。

传奇:

  • IP:1.1.1.1-服务器IP
  • IP:10.8.0.2-我在VPN连接中获得的IP

这是我在nginx上的位置屏蔽块:

location ~ ^/(wp-admin|wp-login\.php) {
  allow 1.1.1.1;
  deny all;
}

这是我的OpenVPN conf文件:

port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

我试图允许连接10.8.0.0/24和服务器IP ...,当我尝试通过VPN到达那里时,仍然得到error 403

编辑

我尝试将重定向添加到vpn push "redirect-gateway def1",并且在位置块中,我从1.1.1.1更改为10.8.0.0/24,但仍然没有任何内容(即使使用1.1.1.1也无效)。

编辑2

我将从IP到客户端的分配IP更改为16.8。(/ 24)。我在块allow 1.1.1.1; allow 16.8.0.0/24; deny all中给出文件时,无法访问文件(wp- *)。 它正在训练VPS,所以我可以更加努力地进行:D

1 个答案:

答案 0 :(得分:0)

可能正在发生的事情是您正在尝试使用VPN的公共IP而不是私有IP访问站点,

location ~ ^/(wp-admin|wp-login\.php) {
  allow 1.1.1.1;
  allow 10.80.0.0/24;
  deny all;
}

但是现在尝试检查执行请求的当前IP,尝试一下:

location /myip {
    default_type text/plain;
    return 200 "$remote_addr\n";
}

然后查询yoursite/myip,它应该显示您要访问的IP以及您可能只想允许的IP。 (如果是公共IP,则该IP可能与此处https://myip.country/ip上打印的IP相匹配)