我带着疑问和挣扎而来,因为我已经设置了lemp+csf防火墙+nginx wordpress block+openvpn。
所以-我在阻止访问 wp-login.php 文件和 /wp-admin 服务器上的目录。
wp-login.php
/wp-admin
我已经成功地阻止了那里的任何人,但我无法通过VPN隧道访问连接。
图例:
这是我在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…但我还是得到了 error 403 当我试图通过VPN到达那里的时候。
error 403
我试图将重定向添加到VPN push "redirect-gateway def1" 在定位块里我换了 1.1.1.1 到 10.8.0.0/24 但仍然没有(即使1.1.1.1不起作用)。
push "redirect-gateway def1"
1.1.1.1
10.8.0.0/24
我将分配的IP从VPN改为客户端16.8。 是的。 (/24)。我不能访问文件(wp-*)时,我给块 allow 1.1.1.1; allow 16.8.0.0/24; deny all 是的。 这是训练副总裁,所以我可以更努力地解决它:D
allow 1.1.1.1; allow 16.8.0.0/24; deny all
可能发生的情况是,您正在尝试使用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可能与此处打印的IP匹配) https://myip.country/ip )
yoursite/myip