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

Ubuntu Apache创建有效自签名SSL证书以消除HTTPS不安全提示

解决Apache自签名SSL证书浏览器提示不安全的问题

我来帮你搞定这个问题——浏览器提示自签名证书"Not secure"是完全正常的,因为自签名证书没有被浏览器预装的可信根证书颁发机构(CA) 背书。不过我们有几种方案可以消除这个提示,分情况给你说明:

方案一:让浏览器信任你的自签名证书(适合开发/测试环境)

不管你怎么生成自签名证书,只要不把它加入浏览器的信任列表,浏览器都会判定它"不安全"。所以最简单的办法是手动导入证书到浏览器:

操作步骤:

Firefox

  • 打开设置 → 隐私与安全 → 滚动到「证书」区域,点击「查看证书」
  • 切换到「证书机构」标签 → 点击「导入」
  • 选择你生成的.crt证书文件,勾选「信任该证书识别网站」,确认保存即可

Chrome/Edge

  • 打开设置 → 隐私和安全 → 安全 → 管理证书
  • 切换到「受信任的根证书颁发机构」标签 → 点击「导入」
  • 按照向导选择你的.crt证书,一路确认导入,重启浏览器后就不会再提示了

方案二:生成带SAN的规范自签名证书(避免额外警告)

很多时候浏览器除了不信任自签名证书,还会因为证书缺少Subject Alternative Name(SAN) 字段而额外警告。生成带SAN的证书能避免这类问题,步骤如下:

  1. 创建一个OpenSSL配置文件(比如~/openssl-san.cnf),内容如下:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
prompt = no

[req_distinguished_name]
CN = your-domain.local  # 替换成你的域名或服务器IP

[v3_ca]
subjectAltName = @alt_names
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth

[alt_names]
DNS.1 = your-domain.local
DNS.2 = www.your-domain.local
# 如果用IP访问,添加这行:IP.1 = 192.168.1.100  # 替换成你的服务器IP
  1. 用这个配置生成证书和密钥:
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
  -keyout /etc/ssl/private/your-domain.key \
  -out /etc/ssl/certs/your-domain.crt \
  -config ~/openssl-san.cnf
  1. 更新Apache的SSL虚拟主机配置,指向新的证书和密钥,然后重启Apache:
sudo systemctl restart apache2

生成完这个证书后,还是需要按照方案一的步骤导入到浏览器信任,才能消除提示。

方案三:使用免费可信CA证书(适合生产环境)

如果是生产环境,强烈推荐使用Let's Encrypt的免费证书,这样不需要手动导入,所有主流浏览器都会自动信任:

  1. 安装Certbot工具:
sudo apt update && sudo apt install certbot python3-certbot-apache
  1. 自动配置Apache和证书:
sudo certbot --apache
  1. 按照提示完成操作:输入邮箱、同意条款、选择要配置的域名,Certbot会自动修改Apache的SSL配置,安装证书,并且设置自动续期(证书有效期90天,续期完全自动)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:07:18