前端项目经常需要用到 https 安全连接,为了本地开发方便,我想给 加上 ssl ,所以我用下面这条命令生成证书和密钥:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out crt.pem
创建期间所有问题一路回车跳过。接下来还用以下 命令转换了 pem 文件:
openssl rsa -outform der -in key.pem -out my.key;
openssl x509 -outform der -in crt.pem -out my.crt;
然后我自行把 my.crt 文件导入 下 的 设置-管理证书-受信任的根证书颁发机构 里。最后用 -sync 或 http- 工具打开本地服务器并监听静态目录,访问 :8080 依旧显示 您的连接不是私密连接 ,打开标签页证书,可以看到证书导入成功,证书状态是 该证书没有问题 。
可是证书依旧是无效的,通过大量网络搜索,确保证书的生成和导入是没问题的,但就是没办法像访问普通 https 链接那样被信任。网上甚至有些文章教怎么设置浏览器不弹出警告,我觉得这是不治本的。所以对网上所说的自定义 ssl 证书可以方便开发的可行性感到疑惑。
问题:自定义 ssl 证书给 使用,是否能达到普通 https 网站的连接效果?如果是,请问该如何操作?
期望:自建 ssl 证书并打开本地服务器,使得 :8080 能像普通 https 站点一样,被 的 和 macOS 的 浏览器信任并正常访问。
PS:我这个问题被人踩了一下,系统提示我的问题“没有实际价值,缺少关键内容,没有改进余地”,我不是经常来思否可能不是很懂社区规矩。我提问之前已经搜索过没有相似的问题Chrome 自动升级后,本地项目都无法访问,难道这不算有实际价值?我的步骤、命令和尝试也列出来了,这关键内容难道还不充分?这个问题既然是可以实现的,那就是有改进的余地吧?我不是很明白为什么会被踩一下,希望看到这段话的朋友们在评论里指正我的不足之处,下次提问我注意一下。
补充:感谢下面两位的回答,我已经成功在本地打开 https 链接了。但是现在有个新的小问题,就是我不能在局域网让其他设备也访问 :8080Chrome 自动升级后,本地项目都无法访问,本来在证书里加上本机的 ip 地址即可,但是公司的 ip 地址是动态分配的,几乎一天一换。于是我想用 做代理,但是代理出来的 :8088 仍然显示不安全,这个有什么解决办法么。
评论留言