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

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

这篇文章主要给大家介绍了关于如何利用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

?


1

2

3

4

5

6

7

8

9

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

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# 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

?


1

127.0.0.1 szcu.implements.io

运行

?


1

2

3

4

5

# 启动 Egg.js

yarn dev

# 启动 nginx

docker-compose -f docker-compose.dev.yml up

原文链接:https://zhuanlan.zhihu.com/p/36201147

原文地址:https://www.cnblogs.com/jpfss/p/10947980.html

时间: 2024-10-10 12:50:30

利用Docker搭建本地https环境的完整步骤的相关文章

利用docker搭建本地私有镜像仓库

主机名 角色 sht-sgmhadoopnn-01 Docker Repository sht-sgmhadoopdn-01 Docker Client 原文地址:https://www.cnblogs.com/ilifeilong/p/11708183.html

全开源深度学习平台PaddlePaddle入手之路(二)----利用Docker在Windows10专业版环境下配置PaddlePaddle

利用Docker在Windows10专业版环境下配置PaddlePaddle 对于PaddlePaddle的安装,查询官网信息,PaddlePaddle提供pip安装和Docker安装运行的使用方式.我们已经了解到Docker在避免环境配置难题上的的巨大优势,加上本人用的是Windows10操作系统,目前官方对于win10版本给出独特的支持,因而选择了在Docker中安装PaddlePaddle. (1)安装docker 在安装Docker前,切记在Windows中打开Hyper-V管理器中(截

Docker 搭建 Tomcat 运行环境

使用 Docker 搭建 Tomcat 运行环境 1. Docker与虚拟机的区别 2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: · 必须是 64 位操作系统 · 建议内核在 3.8 以上 查看 CentOS 7系统内核: [[email protected] ~]# uname  -r 3.10.0-327.el7.x86_64 2.2 安装Docker [[email protected] ~]# yum  -y   install   docker

ubuntu 16.04利用docker搭建java+tomcat+nginx反向代理/动静分离

ubuntu 16.04利用docker搭建java+tomcat+nginx反向代理 新建两个docker容器 docker run -it --name Tomcat-mysql -v /mnt:/mnt -p 8866:80 -p 33006:3306 ubuntu /bin/bash docker run -itd --name webserver -p 8888:80 -v /mnt/:/mnt/ ubuntu /bin/bash [email protected]:~# docker

CentOS 利用docker 搭建图床

CentOS 利用docker 搭建图床 安装docker:yum install docker 启动docker:systemctl start docker,可以设置一下开机启动:systemctl enable docker 拉取一个镜像:docker image pull kdelfour/lychee-docker 启动镜像:docker run -it -d -p 5120:80 kdelfour/lychee-docker [端口映射:浏览器默认的 80 端口,图床可以改成其他端口

JBOSS安装与配置搭建本地项目环境(方便前端开发调式)

JBOSS安装与配置搭建本地项目环境  什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PATH,CLASSPATH,JAVA_HOME).       1. 网上下载JDK安装,我的下载如下: 点击安装,下一步,然后出现如下界面,更改文件目录如下: 我的jdk存放在D盘java文件下,点击[下一步]按钮后,出现如下: jre目录也放在D盘java下.点击[下一步]安装完成后,我在D盘jav

Debian利用iso搭建本地软件源

Debian利用iso搭建本地软件源: mount -o loop debian-9.4.0-amd64-DVD-1.iso /space/deb/ vi /etc/apt/source.list (将原有内容注释,前加#) :wq apt-cdrom -m -d /space/deb/ add apt-get update 原文地址:http://blog.51cto.com/yangzhiming/2114562

ningx配置本地https环境

由于项目改成了https访问,所以本地开发的时候也要通过https验证,避免页面发送http请求. 例如原来是这样访问:http://192.168.88.88:8080/ 或 http://localhost:8080/,现在要这样访问:http://hellotom.pcauto.com.cn/ 一.下载openssl  1.下载 openssl官网下载列表:https://slproweb.com/products/Win32OpenSSL.html 找到windows64位的openss

苹果MAC中安装并搭建Android开发环境的详细步骤

Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安装方法. A.JDK 在MAC中已经为我们预装了JDK并默认配置了Java系统变量,因此JDK对我们来说直接使用即可,查看MAC中的JDK版本方法是在命令行(硬盘/应用程序/实用工具/终端)中输入"java -version"并回车即可. B.Android SDK Android开发包同