基于 Docker 安装 Nginx 搭建静态服务器,并配置 SSL 证书开启 HTTPS 访问 您所在的位置:网站首页 docker镜像安装tcpdump 基于 Docker 安装 Nginx 搭建静态服务器,并配置 SSL 证书开启 HTTPS 访问

基于 Docker 安装 Nginx 搭建静态服务器,并配置 SSL 证书开启 HTTPS 访问

2023-05-29 08:09| 来源: 网络整理| 查看: 265

在服务器使用中,使用nginx作为静态服务器是很常见的情况,该篇文章主要就是讲通过docker安装管理我们的nginx,并配置ssl证书来开启HTTPS访问~

大家需要一台服务器,静态服务器配置需求不算很高,推荐1核2G及以上。

一、安装 Docker

linux服务器使用curl下载快速安装的shell脚本

curl -fsSL get.docker.com -o get-docker.sh

下载完成后,可以ls命令查看一下。已经存在的话,使用sh命令执行这个脚本

sh get-docker.sh

注意如果不是root用户,需要使用sudo su获取超级管理员权限。

安装完成后启动一下Docker Server

systemctl start docker

使用docker version命令能看到Client和Server就启动成功了。

二、使用 Docker 安装 Nginx 1. 先运行一次 nginx,为了拷贝容器内配置文件到本地 docker run -d -p 80:80 --name nginx \ -v /usr/local/docker/nginx/html:/usr/share/nginx/html \ -v /usr/local/docker/nginx/logs:/var/log/nginx \ nginx:latest 2. 拷贝容器内配置文件到本地 docker container cp nginx:/etc/nginx /usr/local/docker/nginx/ cd /usr/local/docker/nginx mv nginx conf 3. 删除之前的容器 docker stop nginx docker rm nginx 4. 根据本地配置文件运行新容器 docker run -d -p 80:80 -p 443:443 --name nginx \ -v /usr/local/docker/nginx/conf:/etc/nginx \ -v /usr/local/docker/nginx/logs:/var/log/nginx \ -v /usr/local/docker/nginx/html:/usr/share/nginx/html \ nginx:latest

如果不需要配置ssl证书开启https访问,此时就可以把这个nginx当作普通静态服务器使用了。

其中/usr/local/docker/nginx中的几个文件夹:

conf: nginx的配置文件,具体配置可以看官网

html: 放静态资源,如html、css、js等

logs: 日志文件夹,访问的日志可以在其中查看

改了配置文件,记得通过docker restart nginx重启下nginx。

三、配置 SSL 证书开启 HTTPS 访问 1. 在云服务厂商申请 SSL 证书

我是在腾讯云申请的SSL证书,提交申请资料了,会让配置一个txt类型的域名解析,然后等待通过就行。

申请通过后,下载nginx服务器类型的证书。

image.png

2. 把证书解压后上传到证书文件夹

在conf/conf.d创建cert证书文件夹

cd /usr/local/docker/nginx/conf/conf.d mkdir cert

把刚才下载的证书上传到这个文件夹

3. 修改 nginx 配置开启 HTTPS 访问

vi /usr/local/docker/nginx/conf/conf.d/default.conf

写入以下内容

server { #SSL 访问端口号为 443 listen 443 ssl; #填写绑定证书的域名 server_name 0101.ml; #证书文件名称 ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem; #私钥文件名称 ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 root /usr/share/nginx/html; index index.html index.htm; } } server { listen 80; #填写绑定证书的域名 server_name falser.top; #把http的域名请求转成https return 301 https://$host$request_uri; }

需要改的地方:

server_name: 改为自己的域名(两处)

ssl_certificate: .crt后缀的证书文件

ssl_certificate_key: .key后缀的证书私钥文件

到此,我们通过 Docker 安装了 nginx 作为我们的静态服务器,并配置了 SSL 证书开启了HTTPS访问,如果各位小伙伴还有什么问题,可以私信我或者下面评论区留言哦。

最后推荐一下我的前端工程相关的其他文章

基于 Docker ( Gitlab、Gitlab Runner ) 搭建一整套自动化CI、CD流程,完成从代码提交到自动打包编译到自动部署运行

基于 Docker + Verdaccio 搭建 Npm 私有库,实现在私有库上发布、下载npm包

前端搭建自己的脚手架(cli),实现公司内部前端工程化

前端工程化之用commintlint + husky实现git提交规范化



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有