我正在努力让一个网站在本地 apache 网络服务器上运行,当我单击网站中的某些链接时遇到错误。 Firefox 显示“无法连接”错误页面,并在 URL 前面附加 https://。
我首先认为这是浏览器配置问题,并尝试了此处建议的所有解决方案:Firefox 重定向到 https
和这里:如何阻止 Firefox 在本地开发服务器上强制使用 https://?
我尝试过的这些链接中的建议包括:
- 清除缓存
- 忘记网站了
- 使用/不使用私有模式
- 将 browser.fixup.fallback-to-https 设置为 false
- 将 network.stricttransportsecurity.preloadlist 设置为 false
我现在认为这是某种 SSL 证书问题。按 URL 旁边的信息按钮会显示一条消息:连接不安全
所以,我使用了一个证书openssl req -nodes -new -x509 -keyout server.key -out server.cert
并将其导入到 Firefox 的证书管理器中。
我的证书现在可以在“权限”选项卡下看到。但是,“服务器”选项卡仍然是空的。
当我尝试添加例外它提示我输入位置。我试过了localhost
, http://localhost
and https://localhost
,但在每种情况下都表示无法获取该网站的身份信息。
我将不胜感激任何建议或方向。
Thanks.
更新:2020年12月2日
经过进一步研究,我仍然认为这是一个 SSL 错误。但我不认为 Firefox 是造成这种情况的原因。我遵循了各种教程,例如这些,但无济于事:
让 Chrome 接受自签名本地主机证书
如何使用 OpenSSL 创建自签名证书
https://deliciousbrains.com/ssl-certificate-authority-for-local-https-development/
https://gist.github.com/cecilemuller/9492b848eb8fe46d462abeb26656c4f8
所有这些都包含大致相同的模式,即使用 openSSL 命令在某个文件位置生成 CA,然后将其放置在 Keychain Access 中并打开权限。
在每种情况下,我都无法让 Firefox 加载 https 页面或让它在证书管理器的服务器选项卡中识别本地主机的标识。
我还下载了 Chrome。我相信我的说法是正确的,Chrome 会通过 Keychain Access 进行 localhost 认证,尽管我的 localhost 认证存在且受信任,但 Chrome 也无法访问 https 页面。即使我更改配置,这种情况仍然存在chrome://flags/#allow-insecure-localhost
启用。
因为两个浏览器(还有 Safari)都会给出相同的错误,所以我认为这不是浏览器问题。我现在认为这个错误与 apache 配置有关,尽管我在这里找到了教程:https://gist.github.com/nrollr/4daba07c67adcb30693e没有效果,我会继续追求这个想法。
与往常一样,任何有关此问题根源的想法或见解都将受到重视。