您遇到的错误是因为 Vite 开发服务器默认只允许 localhost 和 127.0.0.1 等本地主机访问,而您的主机名 www.example.com 不在白名单中。

解决方案

在 vite.config.js(或 vite.config.ts)中添加 server.allowedHosts 配置项,将您的主机名加入白名单。

1. 明确指定允许的主机

import { defineConfig } from 'vite';

export default defineConfig({
  server: {
    allowedHosts: ['www.example.com']  // 添加您的主机名
  }
});

2. 允许所有主机(不推荐用于生产)

如果您只是临时测试且不担心安全,可以设置为 'all'

server: {
  allowedHosts: 'all'
}

3. 使用正则表达式匹配

如果主机名有规律(例如动态子域名),您也可以使用正则:

allowedHosts: [/\.example\.com$/]  // 允许所有 example.com 的子域名

注意事项

  • 修改配置文件后,必须重启 Vite 开发服务器Ctrl+C 停止后重新 npm run dev)才能生效。

  • 配置中的主机名应与请求中的 Host 头完全一致(无需加协议)。

  • 如果您的 Vite 版本低于 3.0,该配置可能不支持,请升级或使用 disableHostCheck: true(已废弃,不推荐)。

完整示例(Vite 3+)

// vite.config.js
import { defineConfig } from 'vite';

export default defineConfig({
  server: {
    allowedHosts: ['www.example.com'],
    // 或者允许所有
    // allowedHosts: 'all',
  },
});

配置后,您的请求就不会被阻止了。如果问题依旧,请检查是否在正确的位置修改了配置文件。