You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现禁止直接IP访问网站并自动跳转至域名?

禁止直接通过IP访问网站的实现方案

一、前端JavaScript方案(简单但有局限)

你找到的JS代码可以实现基础的提示和跳转,但需要增加IP判断逻辑避免误触发:

// 获取当前访问的主机地址
const currentHost = window.location.hostname;
// 匹配IPv4地址的正则
const ipPattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;

// 判断是否是IP访问
if (ipPattern.test(currentHost)) {
  alert("Direct IP is not allowed");
  // 替换为你的实际域名
  window.location.href = "https://your-domain.com";
}

⚠️ 注意:这个方法仅在用户浏览器启用JavaScript时生效,用户可以通过禁用JS绕过,因此只能作为辅助手段,不能单独依赖。


二、后端服务器配置方案(可靠,推荐)

后端拦截是最安全的方式,直接在服务器层面阻止IP访问,无法被用户绕过,以下是主流服务器的配置方法:

1. Nginx 配置

在你的站点配置文件(如/etc/nginx/sites-available/your-site.conf)中添加IP拦截规则:

# 处理IP访问的server块
server {
    listen 80;
    listen 443 ssl;
    server_name 你的服务器IP; # 替换为实际IP
    # HTTPS证书配置(如果启用HTTPS)
    ssl_certificate /path/to/your-cert.crt;
    ssl_certificate_key /path/to/your-cert.key;

    # 方案1:跳转至域名
    return 301 https://your-domain.com$request_uri;
    # 方案2:直接返回禁止提示
    # return 403 "Direct IP is not allowed";
}

# 正常的域名站点配置
server {
    listen 80;
    listen 443 ssl;
    server_name your-domain.com www.your-domain.com;
    # 你的站点根目录、反向代理等其他配置...
}

配置完成后重启Nginx:sudo systemctl restart nginx

2. Apache 配置

在站点的.htaccess文件或主配置文件中添加重写规则:

RewriteEngine On
# 匹配IP格式的访问地址
RewriteCond %{HTTP_HOST} ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
# 方案1:跳转至域名
RewriteRule ^(.*)$ https://your-domain.com/$1 [R=301,L]
# 方案2:返回403禁止访问
# RewriteRule ^(.*)$ - [F,L]

3. PHP 后端判断

如果你的网站基于PHP开发,可在入口文件(如index.php)顶部添加判断逻辑:

$host = $_SERVER['HTTP_HOST'];
$ipPattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';

if (preg_match($ipPattern, $host)) {
    header('HTTP/1.1 403 Forbidden');
    echo "Direct IP is not allowed";
    // 或跳转至域名
    // header("Location: https://your-domain.com");
    exit;
}

总结

优先使用后端服务器配置(Nginx/Apache)实现IP访问拦截,这是最安全可靠的方式;前端JS方案可作为补充,给用户更友好的提示。

内容的提问来源于stack exchange,提问作者Mohamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:05:32