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
相关推荐
IT成长日记13 分钟前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子16 分钟前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
FrankYoou4 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔5 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样5 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
charlee445 小时前
nginx部署发布Vite项目
nginx·性能优化·https·部署·vite
游戏开发爱好者87 小时前
iOS App首次启动请求异常调试:一次冷启动链路抓包与初始化流程修复
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915106327 小时前
频繁迭代下完成iOS App应用上架App Store:一次快速交付项目的完整回顾
websocket·网络协议·tcp/ip·http·网络安全·https·udp
CRMEB定制开发7 小时前
【实战】CRMEB Pro 企业版安装教程(附 Nginx 反向代理配置 + 常见问题解决)
nginx·商城系统·微信商城·crmeb
Lpy25698 小时前
Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化
运维·docker·容器