1Panel 企业版证书激活无响应怎么办?

14 阅读

在 1Panel 中导入企业版许可证进行激活时,如果点击导入后没有反应,同时浏览器控制台出现以下报错,可以按本文处理:

Access to XMLHttpRequest ... has been blocked by CORS policy:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.

这表示浏览器的 CORS 预检没有通过,后续的许可证激活请求可能尚未发出。

处理方法

1. 找到失败的 OPTIONS 请求

F12 打开浏览器开发者工具,切换到 Network(网络),然后重新导入许可证。

找到失败的 OPTIONS 请求,查看它的 Request URLStatus CodeOrigin 和响应头。仅凭控制台报错无法确定是哪一层返回了错误,必须先确认请求地址。

2. 检查对应的代理或安全网关

如果 Request URL 经过自己管理的 Nginx、OpenResty、WAF 或其他网关,请确认:

  • OPTIONS 请求没有被拦截或重定向;
  • 预检响应返回 200204
  • 响应中包含与实际请求匹配的 CORS 响应头。

例如:

Access-Control-Allow-Origin: https://你的1Panel访问地址
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-Type

允许的方法和请求头应以 Network 中的 Access-Control-Request-MethodAccess-Control-Request-Headers 为准。如果请求携带身份凭据,Access-Control-Allow-Origin 必须填写明确的来源地址,不能使用 *

预检响应和后续实际请求的响应都需要返回匹配的 Access-Control-Allow-Origin。如果后端已经处理 CORS,不要在代理层重复添加。

3. 重新激活并验证

修改配置后重新导入许可证进行激活,并在 Network 中确认:

  • OPTIONS 请求已经成功;
  • 浏览器随后发出了实际的许可证激活请求。

如果失败的 Request URL 不由自己管理,不要修改无关的 Nginx 配置。请保存该请求的地址、状态码、请求头和响应头截图,然后提交官方技术支持。截图前请隐藏 Cookie、令牌和许可证内容。

关于 CORS 预检和响应头的定义,可参考 MDN CORS 指南

排查顺序

F12 打开 Network → 重试激活 → 找到失败的 OPTIONS 请求 → 确认请求地址 → 检查对应的反向代理或安全网关 → 重新激活。