操作系统 Ubuntu
方法一 使用 snakeoil
使用 apt 安装的 nginx,默认配置文件中会有一行被注释的 include snippets/snakeoil.conf;
解除注释,通过 systemctl reload nginx 重新加载配置即可。
若重新加载失败提示
nginx: [emerg] cannot load certificate "/etc/ssl/certs/ssl-cert-snakeoil.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/ssl/certs/ssl-cert-snakeoil.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
则需要使用 apt install ssl-cert
安装依赖,再次重新加载配置即可
方法二 使用 OpenSSL 自签名
创建私钥
openssl genrsa -out server.key 2048
创建证书签名请求
openssl req -new -key server.key -out server.csr
此时可以根据自己需要对信息进行填写,需要注意 Common Name
必须为对应网站域名或ip地址
创建自签名证书
openssl x509 -req -in server.csr -signkey server.key -out server.crt
配置 nginx
server {
listen 443 ssl;
ssl_certificate /path/to/server.crt
ssl_certificate_key /path/to/server.key
....
}
配置完成后使用 systemctl reload nginx
来重载配置
彩蛋
当使用 Chrome 访问自签名证书的网站时,会提示不安全。
![Nginx 使用自签名 SSL 证书-Jacky's Blog](https://dl.jackyu.cn/blog/2021/02/2021021704230246.png?x-oss-process=style%2Flarge)
这个时候鼠标随便点击页面的空白处,键盘输入 thisisunsafe
即可访问网页内容。
解除信任的方法
![Nginx 使用自签名 SSL 证书-Jacky's Blog](https://dl.jackyu.cn/blog/2021/02/2021021705172797.png)
EOF
评论 (0)