docker部署H5页面与https访问设置

今天遇到这样一个需求,公司需要在一台服务器上快速部署一套静态的H5页面,并能够通过设置SSL证书进行https方式直接访问页面资源;所以我的静态资源是基于nginx进行访问和配置,具体操作如下:

1、环境准备

示例服务器为 centos7.6、安装容器,docker\docker-compose 、nginx镜像

docker安装示例参考:点我

为了快速下载镜像,需要配置阿里云容器加速器,位置如下,主要通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

2、申请证书文件

首先我们需要准备好已经申请的证书文件,阿里云申请免费证书方式点我传送

3、静态资源文件

准备我们要部署的静态资源文件,如dsk文件夹

4、上传资源文件和上传证书

我的nginx安装目录是/opt/nginx,所以进入该目录命令

cd /opt/nginx

在该目录下创建文件docker-compose.yml,内容如下:

version: '3.7'
services:
  nginx:
    container_name: nginx
    image: nginx:1.18.0-alpine
    restart: always
    privileged: true
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./data:/usr/share/nginx/html 
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 80:80
      - 4434:4434
      - 443:443

在该目录下创建nginx.conf文件,内容如下

user root root;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.dashengkui.cc;
        charset utf-8; 
        location / { 
               root   /usr/share/nginx/html/dsk; #html访问路径
               index index.html index.htm; #html文件名称
             }
    }
}

该目录下,建立data文件夹,用于上传静态资源文件夹dsk

#上传资源
# cd /opt/nginx/data
# rz

docker-compose启动成功后,从宿主机上传证书文件到容器/etc/nginx目录,命令如下

# docker cp /opt/nginx/ssl_certs/www.dashengkui.cc.key 容器id:/etc/nginx 
# docker cp /opt/nginx/ssl_certs/www.dashengkui.cc.pem 容器id:/etc/nginx 

最后替换nginx.conf文件内容,如下

user root root;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.dashengkui.cc;
        charset utf-8; 
        rewrite ^(.*) https://$server_name$1 permanent;
    }
    server {
	    listen       443 ssl;
	    server_name  www.dashengkui.cc;
	    ssl_certificate      /etc/nginx/www.dashengkui.cc.pem;
	    ssl_certificate_key  /etc/nginx/www.dashengkui.cc.key;
	    #ssl_session_cache    shared:SSL:1m;
	    ssl_session_timeout  5m;
	    ssl_ciphers  HIGH:!aNULL:!MD5;
	    ssl_prefer_server_ciphers  on;
	    location / {
	        root   /usr/share/nginx/html/dsk;
	        index  index.html index.htm;
	    }
	}
}

5、重启docker

# docker-compose stop
# docker-compose up -d

6、访问域名

www.dashengkui.cc

1、所有文章未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
分享
二维码
< <上一篇
下一篇>>