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

如何使用http-server在本地正确配置TLS/SSL?解决证书报错

问题原因及解决步骤

1. MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY 错误原因

  • 你生成的证书是CA证书类型,但实际需要的是服务器终端实体证书。CA证书的作用是签发其他证书,不能直接当作服务器身份证书使用,浏览器会拒绝将CA证书作为服务端证书校验。

2. NET::ERR_CERT_COMMON_NAME_INVALID 错误原因

  • 证书的**通用名(CN)或主题备用名称(SAN)**未包含你访问的地址127.0.0.1,浏览器校验证书时发现访问地址与证书绑定的地址不匹配,因此抛出该错误。

正确的OpenSSL证书生成步骤

第一步:生成CA根证书(用于签发服务器证书)

# 生成CA私钥
openssl genrsa -out ca.key 2048
# 生成CA证书,CN填写自定义CA名称,比如MyLocalCA
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt

将生成的ca.crt安装到Windows「受信任的根证书颁发机构」。

第二步:生成服务器私钥和证书签名请求(CSR)

# 生成服务器私钥
openssl genrsa -out server.key 2048
# 生成CSR,注意Common Name必须设为127.0.0.1
openssl req -new -key server.key -out server.csr

填写CSR信息时,Common Name(CN)必须设置为127.0.0.1,其他字段可随意填写。

第三步:创建SAN配置文件(适配现代浏览器要求)

新建san.cnf文件,内容如下:

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = 127.0.0.1
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
IP.1 = 127.0.0.1
# 若需要支持localhost访问,可添加以下行
# DNS.1 = localhost

第四步:用CA根证书签发服务器证书

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile san.cnf -extensions v3_req

第五步:启动http-server

将生成的server.key重命名为key.pem,server.crt重命名为cert.pem,然后启动服务:

http-server -S -C cert.pem -K key.pem

完成以上步骤后,即可正常访问https://127.0.0.1:8080。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:31:34