Docker-搭建HTTPS
2019-06-19 本文已影响0人
MGary
准备工作
SA免费版阿里云申请 选择Symantec服务商
Linux 服务器一台
安装方式采用Docker
开始配置
Docker 下载Nginx
. 查找 Docker Hub 上的 nginx 镜像
docker search nginx
我现在使用官方镜像配置
docker pull nginx
运行容器
docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
命令说明
-
-p 80:80:将容器的80端口映射到主机的80端口
-
--name mynginx:将容器命名为mynginx
-
-v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
-
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
-
-v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs
进入容器
运行容器
命令格式
docker run [option] IMAGE [COMMOND] [ARG...]
容器操作
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器
docker ps -l # 查看最近一次运行的容器
docker create 容器名或者容器ID # 创建容器
docker start [-i] 容器名 # 启动容器
docker run 容器名或者容器ID # 运行容器,相当于docker create + docker start
docker attach 容器名或者容器ID bash # 进入容器的命令行(退出容器后容器会停止)
docker exec -it 容器名或者容器ID bash # 进入容器的命令行
docker stop 容器名 # 停止容器
docker rm 容器名 # 删除容器
docker top 容器名 # 查看WEB应用程序容器的进程
docker inspect 容器名 # 查看Docker的底层信息
进入容器内部
docker exec -it [容器名称] bash
配置Https
配置nginx.conf
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate 1_root_bundle.crt; (证书公钥)
ssl_certificate_key 2_ domainname.com.key; (证书私钥)
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
检查岂容
启动nginx,访问https://+证书绑定的域名
注:部署完毕后若网站无法通过https正常访问,可确认服务器443端口是否开启或被网站卫士等加速工具拦截。
(1)开启方法:防火墙设置-例外端口-添加443端口(TCP)。
(2)若被安全或加速工具拦截,可以在拦截记录中将443添加至信任列表。
(3)阿里云证书与腾讯证书不太一致但是大体分为两种(公有、私有两份证书)总体配置设置思路一致
Utuntu 启动使用命令:service nginx [start/stop/...]
后续补充中。。。。