docker部署nginx并配置https

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
相关推荐
吴声子夜歌2 小时前
Docker入门与实战——热门镜像介绍
运维·docker·容器
方便面不加香菜2 小时前
容器虚拟化基础--CGroups资源控制
运维·docker·容器
BioRunYiXue3 小时前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html
2501_915106323 小时前
跨平台抓包工具怎么选?TraceEagle抓包鹰 的四种跨平台能力
网络协议·计算机网络·网络安全·ios·adb·https·udp
我不会起名字3224 小时前
网关超时比服务短:一次 499 的完整归因
网关·nginx·排查·499
吴声子夜歌5 小时前
Docker入门与实战——Docker命令查询
docker·容器
j7~5 小时前
【Linux网络加餐】《HTTPS 协议原理》---详解
网络·网络协议·https·加密·ca认证·解密
handonch5 小时前
金仓 KingbaseES 时区问题根治指南:从「总是差 8 小时」到全链路统一
linux·docker·postgresql·信创
吴声子夜歌7 小时前
Docker入门与实战——常见问题总结
运维·docker·容器
味悲8 小时前
Nginx笔记
linux·运维·笔记·nginx