生成证书
在想要存放证书的目录,我是在/etc/ssl目录下执行的。然后打开终端执行以下命令
生成私钥
openssl genrsa -out server.key 2048
#生成证书签名请求 (CSR),Common Name:需要填写你要使用https的域名,其它的问题可以随便填写
openssl req -new -key server.key -out server.csr
#从 CSR 创建自签名证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
执行完后如下图
安装证书
- 双击.crt文件,输入密码后,这将打开钥匙串访问应用列表。
- 找到我们想设置域名的证书,右键显示简介
- 点击信任,使用证书时的选项选择始终允许
Nginx配置文件server下增加如下配置
# SSL 相关配置
listen 443 ssl;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.key;
测试
用https协议可以正常访问了,但是提示无效证书。这是因为证书是由你自己生成的,而不是由受信任的证书颁发机构(CA)签发的。浏览器默认不会信任这些证书。可以忽略。