打开终端,输入如下命令下载mkcert:
wget "https://dl.filippo.io/mkcert/latest?for=linux/amd64" -O mkcert && chmod +x mkcert
- 安装
mkcert需要依赖certutil,所以安装前需要先安装依赖包
CentOS/RHEL/Fedora/Alma/RockyDebian/Ubuntu/Deepin
apt-get install -y libnss3-tools
./mkcert -install
生成SSL证书的方法和Windows系统上时一样的,将前面 -install 参数替换为要生成SSL证书的域名或者IP就可以。
./mkcert example.com 10.10.10.1 127.0.0.1 localhost
生成的SSL证书,在当前mkcert文件所在的目录下,一个命令生成的这些域名或IP是在一张SSL证书里面。
生成的SSL证书在当前目录下,文件名为:example.com+2.pem
,key文件为:example.com+2-key.pem
。
ssl证书使用
server {
listen 9060 ssl http2; # 启用HTTPS
server_name phpmyadmin.local; # 这里是刚才的域名
## 这里现行就是填写刚才生成的证书
## 可以是绝对路径,也可以是nginx的配置文件相对路径
## 注意不要把公钥、私钥弄混了,带key的是私钥
ssl_certificate example.com+2.pem;
ssl_certificate_key example.com+2-key.pem;
}
最后在局域网内:
ls $(mkcert -CAROOT)
rootCA-key.pem rootCA.pem
找到这2个文件
find / -name "rootCA.pem"
进入该路径下载出来,将 rootCA.pem改为 rootCA.crt证书让win进行安装
注意事项:
一、Nginx 的 SSL 模块安装
查看 nginx 是否安装 http_ssl_module 模块。
$ /usr/local/nginx/sbin/nginx -V
如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)。
下载 Nginx 安装包,当然是要去 Nginx 官网下载。
下载到安装包src目录
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.15.9.tar.gz
解压安装包。
$ tar -zxvf nginx-1.15.9.tar.gz
配置 SSL 模块。
-
$ cd nginx-1.15.9
-
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module
使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。
用新的 nginx 文件覆盖当前的 nginx 文件。
$ cp ./objs/nginx /usr/local/nginx/sbin/
再次查看安装的模块(configure arguments: –with-http_ssl_module说明ssl模块已安装)。
$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.9
...
configure arguments: --with-http_ssl_module
如果遇到了报错 查看 /usr/local/nginx/sbin/nginx -t