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
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
二维码