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
相关推荐
zhz52143 小时前
Nginx + OpenSSL 自签名证书配置:优劣总结
运维·nginx
EnCi Zheng4 小时前
N3A-一个端口只能给一个程序使用吗?[特殊字符]
网络·nginx·docker
承渊政道5 小时前
OneNav书签导航实操:极空间Docker部署、分类整理与公网访问
运维·docker·内网穿透·cpolar·nas·onenav·轻量级部署
weixin_545019326 小时前
Nginx 配置SSL实现HTTPS访问
nginx·https·ssl
oioihoii7 小时前
CentOS运行Teemii实操:Docker Compose部署、漫画导入与公网阅读
linux·docker·centos
AAA@峥21 小时前
容器数据不丢失:Docker 分层存储 + Volume 共享、备份迁移完整指南
运维·docker·容器
十年磨一剑~1 天前
docker 为何每次 docker tag才能 docker push
docker·容器·eureka
梦梦代码精1 天前
LikeShop 前后端架构升级对比总白皮书——从传统商城架构到高性能多端统一体系
docker·架构·开源
Z_W_H_1 天前
minikube start --driver=docker --memory=4000mb出现PROVIDER_DOCKER_NEWGRP
java·docker·minikube
江湖有缘1 天前
基于Docker环境部署tillywork开源工作管理工具
docker·容器·开源