如何阻止用户通过IP访问GCP上托管的WordPress网站?
阻止通过IP访问Bitnami WordPress,仅允许域名访问
方法一:Cloudflare页面规则拦截
- 登录Cloudflare控制台,进入对应域名的「页面规则」界面
- 创建新规则,规则URL填写
33.33.33.33/*(替换为你的实际服务器IP) - 可选配置:
- 若要强制重定向到域名:设置「转发URL」为永久重定向(301),目标地址填
https://mywebsite.com/$1 - 若要直接拒绝访问:选择「安全」->「阻止」,返回403错误
- 若要强制重定向到域名:设置「转发URL」为永久重定向(301),目标地址填
- 保存并激活规则
方法二:修改服务器Web服务配置(Bitnami环境)
Bitnami WordPress通常使用Apache或Nginx,以下分情况操作:
Apache环境
- 通过SSH连接到GCP服务器实例
- 打开Apache虚拟主机配置文件:
/opt/bitnami/apache/conf/vhosts/wordpress-vhost.conf - 在
<VirtualHost *:80>和<VirtualHost *:443>块内添加Host头验证逻辑:
# 方案1:重定向到主域名 <If "%{HTTP_HOST} != 'mywebsite.com' && %{HTTP_HOST} != 'www.mywebsite.com'"> Redirect 301 / https://mywebsite.com/ </If> # 方案2:直接拒绝访问(返回403) # <If "%{HTTP_HOST} != 'mywebsite.com' && %{HTTP_HOST} != 'www.mywebsite.com'"> # Require all denied # </If>
- 重启Apache服务生效:
sudo /opt/bitnami/ctlscript.sh restart apache
Nginx环境
- SSH连接服务器,打开Nginx虚拟主机配置文件:
/opt/bitnami/nginx/conf/vhosts/wordpress-vhost.conf - 在
server块内添加Host判断规则:
# 方案1:重定向到主域名 if ($host !~* ^(mywebsite.com|www.mywebsite.com)$) { return 301 https://mywebsite.com$request_uri; } # 方案2:直接拒绝访问 # if ($host !~* ^(mywebsite.com|www.mywebsite.com)$) { # return 403; # }
- 重启Nginx服务生效:
sudo /opt/bitnami/ctlscript.sh restart nginx
方法三:WordPress后台配置加固
进入WordPress后台「设置」->「常规」,确保「WordPress地址(URL)」和「站点地址(URL)」均设置为你的域名https://mywebsite.com,避免系统生成IP指向的链接。
内容的提问来源于stack exchange,提问作者ORly587498
相关产品推荐
相关产品推荐

