![Firefox + HSTS + 自签名证书 + 内联网](https://linux22.com/image/1547917/Firefox%20%2B%20HSTS%20%2B%20%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6%20%2B%20%E5%86%85%E8%81%94%E7%BD%91.png)
我有一台 Windows 10 电脑,通常无需互联网连接即可运行。我有一个 Apache 服务器(版本2.4
)在该机器上运行(ServerName localhost
),它虚拟托管各种网站(例如www.youtube.com
- 我知道...逗我开心)。有几个域名,但我将使用这个作为我的示例。
我将这些域解析到文件127.0.0.1
中%WINDIR%\system32\drivers\etc\hosts
,并且可以正常解析/ping 它们。
我已将其定义www.youtube.com
为VirtualHost
in httpd.conf
,并且还将其定义为 SSL 配置文件中的域。几个月前,这一切都运行正常,即在 Firefox 中,我能够浏览http://www.youtube.com和https://www.youtube.com很好。对于 https 版本的网站,我确实必须创建自签名证书,并将它们安装到 Firefox 的证书数据库中,但一切都正常。
现在它不再起作用了。我正在运行 Firefox 版本57.0.1 (32-bit)
。我得到了我们都见过的错误:
您的连接不安全
[DOMAIN] 的所有者对其网站的配置不当。为了保护您的信息不被盗用,Firefox 尚未连接到此网站。
此网站使用 HTTP 严格传输安全 (HSTS) 来指定 Firefox 只能安全地连接到该网站。因此,无法为此证书添加例外。
当我单击“高级”时……
[DOMAIN] 使用无效的安全证书。
该证书不受信任,因为它是自签名的。
错误代码:SEC_ERROR_UNKNOWN_ISSUER
我尝试了很多解决方案......生成新的证书、禁用 Firefox 的Query OCSP responder servers to confirm the current validity of certificates
设置、清除缓存、使用新配置文件启动 Firefox、删除文件cert8.db
、改用 Windows 信任存储、尝试about:config
修改security.*
设置等,但都没有用。
我知道我想要的是不安全的..但事实并非如此,因为这台计算机没有连接到互联网,我只想连接到我自己的 Apache 服务器在本地托管的“假”域。
这真的不可能吗?
值得一提的是,我尝试过 Chrome,但它也不起作用,但无论如何我还是宁愿坚持使用 Firefox。
答案1
我认为这在现代版本的 Firefox 浏览器中永远都不可能实现。
然而,使用旧版本的Firefox便携版( 51.0.1
) 我能够使用自签名证书提供安全站点。由于这是一台独立计算机(没有互联网连接),因此我并不担心安全隐患,并且对解决方案感到满意。感谢大家的意见。