Docker 搭建本地 https 环境

这篇具有很好参考价值的文章主要介绍了Docker 搭建本地 https 环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


环境:

安装 Docker

安装 docker-compose

1. 生成自签名的SSL证书和私钥

首先,生成自签名的 SSL 证书和私钥。可以使用 OpenSSL 命令来生成

hostnamectl set-hostname httpshost
su
echo "192.168.23.5 www.httpshost.com" >> /etc/hosts

mkdir /opt/nginx
cd /opt/nginx
# 上传 nginx-1.22.0.tar.gz 安装包
rz -E

# 生成本地SSL证书及密钥文件
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

这个命令将会生成一个私钥文件 key.pem 和一个证书文件 certificate.pem

解释一下命令的参数:

  • req:执行证书请求相关操作。
  • -newkey rsa:2048:生成一个新的 RSA 密钥对,密钥长度为 2048 bits。
  • -nodes:私钥不进行加密,这样在使用证书时不需要输入密码。
  • -keyout key.pem:指定生成的私钥文件名为 key.pem
  • -x509:生成自签名的证书。
  • -days 365:证书有效期为 365 天。
  • -out certificate.pem:指定生成的证书文件名为 certificate.pem

docker部署ssl服务,docker,https,容器,服务器,安全

2. 编辑 Nginx 的 Dockerfile 文件

vim /opt/nginx/Dockerfile

# 基于基础镜像
FROM centos:7

# 维护者信息
MAINTAINER this is nginx image <mz>

# 添加环境包
RUN yum -y update
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make openssl openssl-devel

# 创建nginx管理用户
RUN useradd -M -s /sbin/nologin nginx

# 上传 nginx 软件压缩包,并解压
ADD nginx-1.22.0.tar.gz /usr/local/src/

# 指定工作目录
WORKDIR /usr/local/src/nginx-1.22.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module

# 编译及安装
RUN make && make install

# 环境变量
ENV PATH /usr/local/nginx/sbin:$PATH

# 指定 http 和 https 端口
#EXPOSE 80
EXPOSE 443

# 容器运行时执行命令
ENTRYPOINT [ "/usr/local/nginx/sbin/nginx", "-g", "daemon off;" ]


docker部署ssl服务,docker,https,容器,服务器,安全

3. 编辑 YAML 文件

编辑 docker-compose.yml 文件:

vim /opt/nginx/docker-compose.yml

# 指定docker-compose版本为3
version: '3'

services:
  # 定义一个名为 nginx 的服务
  nginx:
    # 设置容器名称为 nginx
    container_name: nginx
    # 设置主机名为 nginx
    hostname: nginx
    # 构建镜像
    build:
      # 设置上下文路径为 ./nginx,及Dockerfile所在目录
      context: ./
      # 指定 Dockerfile 文件名为 Dockerfile
      dockerfile: Dockerfile
    # 端口映射
    ports:
      # 将主机的 80 端口映射到容器的 80 端口
      #- 80:80
      # 将主机的 443 端口映射到容器的 443 端口
      - 443:443
    # 网络设置
    networks:
      # 连接到名为 mynet 的网络
      mynet:
        # 指定容器的ip地址为 172.18.0.10
        ipv4_address: 172.18.0.10
    # 卷挂载
    volumes:
      # 将主机的 ./html 目录挂载到容器的 /usr/local/nginx/html 的目录
      - ./nginx.conf:/usr/local/nginx/conf/nginx.conf
      - ./html:/usr/local/nginx/html
      - ./key.pem:/usr/local/nginx/ssl/key.pem
      - ./certificate.pem:/usr/local/nginx/ssl/certificate.pem


# 网络定义
networks:
  # 定义名为 mynet 的网络
  mynet:
    # 使用 bridge 网络驱动
    driver: bridge
    # IP 地址管理
    ipam:
      # 配置 IP 地址
      config:
        # 设置子网为 172.18.0.0/16
        - subnet: 172.18.0.0/16


docker部署ssl服务,docker,https,容器,服务器,安全

4. 准备 nginx 主配置文件

在与 docker-compose.yml 文件相同的目录中创建一个名为 nginx.conf 的配置文件,并添加以下内容:

vim nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       443 ssl;
        ssl_certificate /usr/local/nginx/ssl/certificate.pem;
        ssl_certificate_key /usr/local/nginx/ssl/key.pem;

        server_name  httpshost;
        charset utf-8;
        location / {
            root   html;
            index  index.html index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}

docker部署ssl服务,docker,https,容器,服务器,安全

5. 运行以下命令启动容器

docker-compose -f docker-compose.yml up -d

docker部署ssl服务,docker,https,容器,服务器,安全

docker部署ssl服务,docker,https,容器,服务器,安全

6. 添加网页主页

echo "this is https test" > html/index.html

docker部署ssl服务,docker,https,容器,服务器,安全

7. 测试

现在,您的本地 Docker 环境已经搭建好了 HTTPS。您可以通过访问 https://www.httpshost.com 来测试您的应用程序。请注意,由于使用的是自签名证书,您可能会收到浏览器的安全警告。

docker部署ssl服务,docker,https,容器,服务器,安全

docker部署ssl服务,docker,https,容器,服务器,安全

docker部署ssl服务,docker,https,容器,服务器,安全文章来源地址https://www.toymoban.com/news/detail-841810.html

到了这里,关于Docker 搭建本地 https 环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker本地PHP开发环境搭建

    本文简单介绍通过启动一个nginx和fpm容器来搭建一个php web运行环境,以文档命令为例,H:/home/code/docker/web 目录下可以放多个子项目,只需针对不同的项目配置不同的nginx站点文件,在站点中指定下级项目目录即可,以后台项目admin为例, 则具体的子路径为H:/home/code/docker/we

    2024年02月07日
    浏览(53)
  • 使用 Docker 高效搭建本地开发环境(详细教程)

    试错 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于  Docker ,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软

    2024年02月08日
    浏览(59)
  • 使用Docker部署GitLab服务并启用HTTPS

    使用官方提供的 Docker 镜像部署 GitLab 非常方便,相关的安装配置文档也非常详细。本文主要是对一次成功的部署流程进行记录,方便下次快捷部署。 官方提供了「社区版」和「企业版」两种镜像,这里采用「社区版」进行部署,执行以下命令拉取最新的 Docker 镜像。如果需要

    2024年02月03日
    浏览(40)
  • docker本地搭建spark yarn hive环境

    ​ 为了学习大数据处理相关技术,需要相关软件环境作为支撑实践的工具。而这些组件的部署相对繁琐,对于初学者来说不够友好。本人因为工作中涉及到该部分内容,通过参考网上的资料,经过几天摸索,实现了既简单又快捷的本地环境搭建方法。特写下该文章,加以记录

    2024年03月10日
    浏览(41)
  • win10 搭建odoo16环境(docker或本地)

    一、 1.安装docker,下载docker工具 本人使用docker_toolbox进行安装,此处需注意git的path 创建default虚拟机,国内下载iso文件可能存在问题, 使用已下载好的iso文件 地址:https://github.com/boot2docker/boot2docker/releases 也可联系博主咨询 a.将文件放在 C:UsersAdministrator.dockermachinecache目录

    2024年02月08日
    浏览(48)
  • Nginx环境搭建以及Docker环境部署

    目录 Nginx环境搭建 1.首先创建Nginx的目录并进入 2.下载Nginx的安装包         可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包         没有wget命令的可通过yum命令安装  3.解压Nginx的压缩包 4.下载并安装Nginx所需的依赖库和包         安装方式一    

    2024年02月13日
    浏览(46)
  • Ubuntu18.04 docker kafka 本地测试环境搭建

    Kafka是一种分布式流处理平台,也是一个高吞吐量的分布式发布订阅消息系统。它由LinkedIn开发,并于2011年成为Apache软件基金会的顶级项目。 Kafka的设计目标是能够处理大规模的消息流,并提供持久性、高吞吐量和低延迟的特性。它的核心概念是发布-订阅模型,其中消息被组

    2024年02月15日
    浏览(68)
  • 《Docker》阿里云服务器docker部署nginx并配置https踩坑记录(完整)

    前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 来个关注吧,点个赞吧,谢谢 今天在为阿里云服务器续期的时候发现原来阿里云上面也

    2024年02月06日
    浏览(48)
  • [ 环境搭建篇 ] docker 搭建部署 YAPI 框架

    👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋 🙏作者水平有

    2024年02月02日
    浏览(40)
  • Docker 部署本地爬虫项目到服务器

    笔记:一直想写一篇博客的,那就趁着周末闲暇时光记录一下。 目录 一、前提准备 二、Docker部署爬虫示例 整体梳理 1、打包构建本地项目镜像 2、在 hub 网站上 创建一个仓库。 3、将本地镜像与hub上的仓库打上标签 4、确保已登录 Dockerhub 账号 5、推送镜像到 Dockerhub 仓库中

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包