【运维笔录】局域网实现HTTPS访问,只需Nginx + mkcert

1)下载安装mkcert

wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64

为二进制文件添加可执行权限,并移动到 $PATH 中:

chmod +x mkcert
mv mkcert /usr/local/bin/

检查 mkcert 的版本:

mkcert -version

如果版本显示正常,说明安装无误。接下来,我们看看 mkcert 是如何创建证书的。

2)为nginx中的域名配置证书

mkcert -cert-file /etc/nginx/ssl/dev.crt -key-file /etc/nginx/ssl/dev.key dev.sleepyocean.cn

如果ssl目录不存在,创建ssl目录即可。

3)修改域名的https的nginx配置

server {
    listen      443 ssl;
    server_name  dev.sleepyocean.cn;

    ssl on;
    ssl_certificate /etc/nginx/ssl/dev.crt;
    ssl_certificate_key /etc/nginx/ssl/dev.key;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://web.sleepyocean.cn;          
    }
}

刷新nginx配置

nginx -s reload

4)在需要访问该域名的机器上安装证书

# 查看证书路径
> mkcert -CAROOT
/root/.local/share/mkcert

# 查看证书
> ls /root/.local/share/mkcert
rootCA-key.pem  rootCA.pem

下载rootCA.pem文件到PC上,重命名为rootCA.crt,然后安装证书。

posted @ 2022-04-18 13:55  老船长SleepyOcean  阅读(1656)  评论(0编辑  收藏  举报