本地网站SSL证书设置

本文介绍了如何通过本地添加受信任的根CA,利用其为本地部署的测试用的web服务器签发ssl证书,使得测试网站实现本地https协议访问,更适用于目前常见的https下的web应用开发场景。

声明:Windows 10, phpstudy 搭建本地网站,nginx 1.15.11 ,Chrome 适用于本文。其他情况仅供参考。

本文参考:

https://gist.github.com/cecilemuller/9492b848eb8fe46d462abeb26656c4f8

对其进行了实践和简化,如有进一步需求建议看原版。

第一步:冷静。

停下你干的事情:卸载搞坏的nginx 重装。删除搭建的网站重建(保留数据文件,那是宝儿)。然后下载openssl, 在系统环境变量 path 中添加openssl的安装位置下的bin文件夹。

接下来主要是复制粘贴的活了。

第二步:“做一个假官方”。

新建一个空文件夹,重命名为:fun,双击文件夹进入,单击顶部地址栏,随后输入cmd, 回车,输入如下命令运行openssl。

openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=US/CN=Example-Root-CA"
openssl x509 -outform pem -in RootCA.pem -out RootCA.crt

然后你会得到三个文件在当前文件夹里: RootCA.pemRootCA.key & RootCA.crt。

现在创建新文件 domains.ext 。
如果你只有一个域名要测试,假设叫suis.fans, 那么首先打开c:/windows/system32/drivers/etc/hosts.txt,
复制粘贴
suis.fun  127.0.0.1 
到hosts.txt。 
然后打开*/fun/ domains.ext ,将如下内容粘贴进*/fun/ domains.ext ,保存并退出。
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = suis.fans
假设你有多个域名要测试,例子如下。
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = fake1.local
DNS.3 = fake2.local

第三步:“让假官方给你办证”。

进入fun文件夹,单击顶部地址栏,随后输入cmd, 回车,输入如下命令运行openssl。

openssl req -new -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.csr -subj "/C=US/ST=YourState/L=YourCity/O=Example-Certificates/CN=localhost.local"
openssl x509 -req -sha256 -days 1024 -in localhost.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -extfile domains.ext -out localhost.crt

然后你会得到3个文件: localhost.keylocalhost.csr, and localhost.crt

假设你是 suis.fans 这个主机,你现在要把“证”揣兜里。

打开phpstudy,创建网站suis.fans,修改文件路径去掉 .fans, 端口选择https,  私钥文件处点导入,选择 */fun/localhost.key ; pem文件处点导入,选择 */fun/ localhost.crt。勾选http跳转https, 随后确认,完成建站。

这“官方”给的证,人家浏览器一眼假咋办?

第四步:“让假官方成了真官方”;

右键点击 RootCA.crt,安装,选择“为计算机安装”,选择“将所有证书放入下列存储”,选择“守信任的根证书颁发机构”,确认,点击“完成”。

全文完;

哈喵喵呼哇

 

 

《本地网站SSL证书设置》有1条评论

发表评论