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

网站不支持Safari 6版本:是Next.js还是DNS问题?

问题根源与解答

这个问题既不是Next.js配置导致的,也和DNS设置无关,核心原因是TLS协议及加密套件的兼容性问题。

具体分析:

  • 排除Next.js的可能性:你的Next.js配置仅启用了MDX支持,没有涉及任何TLS或浏览器兼容性的特殊配置;Next.js 14.2.5的代码编译逻辑也不会直接导致TLS握手失败——TLS层的连接建立发生在Next.js代码执行之前,所以和框架本身无关。
  • 排除DNS的可能性:用户反馈“网站已宕机”但实际网站正常,且检测工具能识别到域名对应的主机,说明DNS解析是正常的,问题出在后续的安全连接建立环节。
  • 真正原因:Safari 6是2012年发布的老旧浏览器,仅支持TLS 1.0和TLS 1.1协议,且兼容的加密套件非常有限。而Vercel等现代托管平台默认会禁用这些存在严重安全漏洞的旧版TLS协议,导致Safari 6无法与服务器完成TLS握手,最终表现为“无法访问”。

解决方案:

  • 不推荐方案:如果必须兼容Safari 6这类古董浏览器,可以在Vercel项目的「Settings → Security → TLS Configuration」中手动启用TLS 1.0和TLS 1.1,但这会大幅降低网站的安全性,存在被攻击的风险。
  • 推荐方案:建议用户升级到现代浏览器,这是兼顾安全性和兼容性的最优选择。

你提供的配置信息:

next.config.mjs

import createMDX from "@next/mdx";

/** @type {import('next').NextConfig} */
const nextConfig = {
  // Configure `pageExtensions` to include markdown and MDX files
  pageExtensions: ["js", "jsx", "md", "mdx", "ts", "tsx"]
  // Optionally, add any other Next.js config below
};

const withMDX = createMDX({
  // Add markdown plugins here, as desired
});

// Merge MDX config with Next.js config
export default withMDX(nextConfig);

依赖版本

"next": "14.2.5",
"react": "^18",

托管平台:vercel

内容的提问来源于stack exchange,提问作者zain ul din

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:34:59