利用Docker搭建本地https环境的完整步骤

 更新时间:2018年04月29日 15:22:17   作者:苏依  
这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

什么是 HTTPS

我们都知道 Web App 的运行都是建立在网络应用层 HTTP 协议的,HTTP 协议能够进行客户端和服务器之间的请求和返回。但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁。PWA 应用出于安全性的考虑要求项目必须部署在 HTTPS 环境。

那么 HTTPS 是什么呢?

HTTPS 是将 HTTP 置于 SSL/TLS 之上,其效果是加密 HTTP 流量( traffic ),包括请求的 URL、结果页面、cookies、媒体资源和其他通过 HTTP 传输的内容。企图干扰 HTTPS 连接的人既无法监听流量,也无法更改其内容。除了加密,远程服务器的身份也要进行验证:毕竟,如果你无法确定连接的另一端是谁,加密连接也就没什么意义了。这些措施将使拦截流量变得极其困难。虽然攻击者仍有可能知道用户正在访问哪个网站,但他所能知道的也就仅限于此了。

https请求流程图

本文将利用Docker & docker-compose 搭建本地 https 环境,下面话不多说了,来一起看看详细的介绍吧。

工具:

  • acme#sh (生成免费证书)
  • Docker & docker-compose
  • ihost (可以手动修改 hosts 文件)

配置文件:

docker-compose.dev.yml

version: '3'
services:
 proxy:
 image: nginx:stable-alpine
 ports:
 - 443:443
 volumes:
 - /Users/thonatos/.acme.sh/*.implements.io:/etc/nginx/ssl/
 - ./default.conf:/etc/nginx/conf.d/default.conf

default.conf

# HTTP server
#

server {
 listen  443 ssl;
 server_name  szcu.implements.io;
 ssl_certificate /etc/nginx/ssl/fullchain.cer;
 ssl_certificate_key /etc/nginx/ssl/*.implements.io.key;
  
 location / {
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header Host $host;
 proxy_pass http://192.168.2.51:7001; # IP 请勿使用 127.0.0.1
 }
}

hosts

127.0.0.1 szcu.implements.io

运行

# 启动 Egg.js
yarn dev

# 启动 nginx
docker-compose -f docker-compose.dev.yml up

打开 Chrome 可以看到旁边绿色的锁了,大功告成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • docker镜像与传统vm虚拟机区别及分析

    docker镜像与传统vm虚拟机区别及分析

    这篇文章主要是内容分享系列,为大家用大白话通俗的讲解docker镜像与传统vm虚拟机区别以及分析,有需要的朋友可以借鉴参考想,希望能够有所帮助
    2022-03-03
  • docker构建的镜像的三种方式小结

    docker构建的镜像的三种方式小结

    这篇文章主要为大家详细介绍了docker中构建的镜像的三种方式,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-04-04
  • Dockerfile ENV语法使用指南

    Dockerfile ENV语法使用指南

    这篇文章主要为大家介绍了Dockerfile ENV语法使用指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • docker部署jupyter的详细教程

    docker部署jupyter的详细教程

    这篇文章主要介绍了docker部署jupyter的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • 解决Docker中的error during connect异常情况

    解决Docker中的error during connect异常情况

    这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker实现Mariadb分库分表及读写分离功能

    Docker实现Mariadb分库分表及读写分离功能

    这篇文章主要给大家介绍了关于Docker实现Mariadb分库分表及读写分离功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Docker 安装Tomcat、实现Tomcat集群的详细过程

    Docker 安装Tomcat、实现Tomcat集群的详细过程

    这篇文章主要介绍了Docker安装Tomcat、实现Tomcat集群,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Docker容器中运行nginx

    Docker容器中运行nginx

    本文介绍了从docker hub拉取官方nginx镜像并自定义部分配置,绑定端口运行的过程。希望小伙伴们能够从中得到些知识
    2017-03-03
  • Docker安装MySQL8.0的详细步骤(附图文!)

    Docker安装MySQL8.0的详细步骤(附图文!)

    Windows上安装MySQL相对来说会较为简单,但是在Docker安装就没那么简单了,下面这篇文章主要给大家介绍了关于Docker安装MySQL8.0的详细步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • docker5 全功能harbor仓库搭建过程

    docker5 全功能harbor仓库搭建过程

    Harbor是构建企业级私有docker镜像的仓库的开源解决方案,本文给大家分享docker5 全功能harbor仓库搭建过程,感兴趣的朋友一起看看吧
    2021-06-06

最新评论