一、mkcert介绍
一句话介绍mkcert:一个生成本地 HTTPS 加密证书的工具,一个命令就可以生成证书,不需要任何配置,支持Windows、macOS和Linux平台。
功能特性
功能特性就一点:一个命令就可以生成证书,不需要任何配置。
二、mkcert安装
MacOS
brew install mkcert
brew install nss # if you use Firefox
# 或者
sudo port selfupdate
sudo port install mkcert
sudo port install nss # if you use Firefox
Linux
# 先安装certutil
sudo apt install libnss3-tools
-or-
sudo yum install nss-tools
-or-
sudo pacman -S nss
-or-
sudo zypper install mozilla-nss-tools
# 直接下载可执行文件
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Windows
choco install mkcert
# 或者
scoop bucket add extras
scoop install mkcert
三、mkcert使用
生成证书
mkcert domain1 [domain2 [...]] #mkcert后跟域名
四、Nginx使用证书
书写Nginx的配置文件 default.conf
upstream bm-gateway {
server bm-gateway:8080 ;
}
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html; #解决单页面找不到路径问题 404
}
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /opt/ssl/beimao.com.pem;
ssl_certificate_key /opt/ssl/beimao.com-key.pem;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html; #解决单页面找不到路径问题 404
}
location /apis/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization'; #跨域设置
rewrite ^/apis/(.*)$ /$1 break; #调用下游服务时,去掉 apis这个二级目录
proxy_pass http://bm-gateway ; #可以配置多个下游服务,具有负载功能
}
}
dockerfile文件
FROM registry.cn-beijing.aliyuncs.com/all100/nginx:latest
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY ssl/beimao.com-key.pem /opt/ssl/beimao.com-key.pem
COPY ssl/beimao.com.pem /opt/ssl/beimao.com.pem
COPY dist/ /usr/share/nginx/html/
docker run -d -p 443:443 -p 80:80
-v /opt/nginx/log:/var/log/nginx
--name nginx01
registry.cn-beijing.aliyuncs.com/all100/nginx:v2
推到私仓使用
参考文档:
https://blog.youkuaiyun.com/beginner_bin/article/details/140216416