本系列主要介绍通过公网的 ipv6 访问局域网设备并部署自己的服务供公网访问;本篇是其中的第二篇,以腾讯云和 Nginx 为例,介绍如何将服务部署到 https://域名 。
需要以下的事前准备:
- 腾讯云/阿里云/Cloudflare 等随便一个地方购买一个自己的域名
- 公网 ipv4/ipv6 地址
- 本地部署一个服务以供测试
Nginx(Docker) 安装
这里选择 Docker 来分离安装 Nginx 服务,Docker 部署的优势这里就不再赘述,这里建议使用 portainer 进行容器管理和运行状态查看。
首先创建存放 Nginx 配置文件和证书文件的目录,后续挂载给 Nginx Contrainer 使用:
1 2
| mkdir -p /home/username/docker-file/nginx/conf.d mkdir -p /home/username/docker-file/nginx/cert
|
配置文件存放到 conf.d
中,各种 SSL 证书则存放到 cert
文件夹中;
接着部署 Nginx,这次先不挂载目录,将 Nginx 中一些默认配置拷贝出来,以供后续使用和修改:
1 2 3
| # run会自己执行镜像拉取,pull可以不执行 # docker pull nginx sudo docker run --name nginx -p 80:80 -d nginx
|
将配置文件复制出来:
1 2 3
| sudo docker cp nginx:/etc/nginx/conf.d/default.conf /home/username/docker-file/nginx/conf.d/default.conf sudo docker cp nginx:/etc/nginx/nginx.conf /home/username/docker-file/nginx/conf.d/nginx.conf sudo docker cp nginx:/etc/nginx/mime.types /home/username/docker-file/nginx/conf.d/mime.types
|
基于原始的配置文件挂载后查看 nginx 是否正常运行:
1 2
| sudo docker rm -f nginx sudo docker run --name nginx -p 80:80 -p 443:443 -v /home/username/docker-file/nginx/conf.d/nginx.conf:/etc/nginx/nginx.conf -v /home/username/docker-file/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/username/docker-file/nginx/conf.d/mime.types:/etc/nginx/mime.types -v /home/username/docker-file/nginx/cert:/etc/nginx/cert -d nginx
|
参考资料:使用docker部署nginx并配置https - 逊老头 - 博客园 (cnblogs.com)