1.准备SSL证书:
生成私钥:运行以下命令生成一个私钥文件。
生成证书请求(CSR):运行以下命令生成证书请求文件。
生成自签名证书:使用以下命令生成自签名证书。
openssl genrsa -out example.com.key 2048
openssl req -new -key example.com.key -out example.com.csr
openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt
2.创建Nginx配置文件
创建一个名为nginx.conf
的Nginx配置文件。
server {
listen 80;
server_name zsh.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name zsh.com;
ssl_certificate /etc/nginx/certs/example.com.crt;
ssl_certificate_key /etc/nginx/certs/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}
3.创建一个Dockerfile:
创建一个Dockerfile来构建你的Nginx容器。
FROM nginx:latest
# 复制SSL证书和私钥到容器中
COPY example.com.crt /etc/nginx/certs/
COPY example.com.key /etc/nginx/certs/
# 复制Nginx配置文件到容器中
COPY nginx.conf /etc/nginx/nginx.conf
# 暴露80和443端口
EXPOSE 80
EXPOSE 443
# 启动Nginx服务
CMD ["nginx", "-g", "daemon off;"]
4.构建Docker镜像:
在Dockerfile所在的目录中执行以下命令构建镜像。
docker build -t nginx-https .
5.运行容器:
运行你的Nginx容器,并将端口映射到主机上。
docker run -d -p 80:80 -p 443:443 nginx-https