在homestead本地开发使用ssl证书

创建于 9个月前 / 阅读数 38 / PHP


现状

据外媒 bleepingcomputer 18年5月17日报道,谷歌正计划停止在地址栏中标记 HTTPS 页面为“安全”站点,换句话说,在没有发现异常的情况下,所有 HTTPS 的站点都会默认为安全,已于 Chrome 69 生效,这无疑造成我们在开发过程中配置虚拟域名无法访问的问题

有时,可能会提示:您要访问的域名是: http://iiiku.sel
通过点击链接的方式虽然可以开启本地开发,但考虑到生产环境与开发环境尽可能的统一,在本地我们也应该生成证书。

Homestead

既然默认 HTTPS 页面为安全站点,那么有必要更新本地项目域名的 ssl 证书访问。

配置证书

Homestead 本身已经支持生成 https 证书,每当我们新增虚拟主机时,执行重启命令过程中运行到站点会提示:

$ vagrant reload --provision
...
homestead-7: Running: script: Creating Certificate: iiiku.sel

说明:可以看到配置虚拟主机时默认也为我们的域名生成了证书

Homestead 的根证书位于虚拟机中的 /etc/nginx/ssl/

$ cd /etc/nginx/ssl/
$ cat ca.homestead.code.crt

复制所有内容(包括 begin 和 end)保存到任意位置,接下来:
双击安装 - 本地计算机 - 将所有的证书都放入下列存储 - 选择(受信任的根证书颁发机构)

验证

打开 Chrome 设置,搜索 ssl,在证书管理中找到受信任的根证书颁发机构,可以看到 Homestead 证书已经成功安装,接下关闭所有 chrome,重新打开,访问设置的虚拟域名即可 https://iiiku.sel

说明:地址栏点击证书,证书路径,可以看到 iiiku.sel 属于 Homestead code Root CA