Day 11 利用 docker 安装 nginx 并配置 https

现今的浏览器如 Firefox, Google Chrome 多以将仅 http 的网站和连结标注为不安全,所以於前一天所安装的 Mautic 服务若要能正常的於客户端运行,势必是得用 https:// 开头的网址。

安装 nginx

  1. 先行解决 WARN No swap limit support 问题,需执行以下指令:
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
sudo update-grub
  1. 将 OS 重新开机
sudo systemctl reboot
  1. 先从 docker 官网上拉下最新的 nginx 映像
docker pull nginx:latest
  1. 利用 FileZilla 或是命令列来建立 nginx 的配置文件和 SSL 证书相关的资料夹
# 这些资料夹和档案,到时会藉由 mapping 的形式映射的 nginx 容器内的对应资料夹中
mkdir /opt/docker/nginx/conf.d -p
mkdir /opt/docker/nginx/cert -p
  1. 将申请下来的 SSL 凭证档案,上传到 /opt/docker/nginx/cert 中
  2. 申请下来的 SSL 凭证,在 nginx 上是需要先行 merge 的。请透过命令列执行以下指令
cd /opt/docker/nginx/cert
cat certificate.crt ca_bundle.crt >> ca_bundle_combine.crt
  1. 配置 nginx.conf
# 可以先用 notepad+ 等工具先行编辑好,
# 再透过如 FileZilla 工具上传
server {
    listen 443 ssl;
    server_name <subdomain / domain name>;
    # 到时是由容器中的 /etc/nginx/ 开始计算相对位置
    ssl_certificate ./cert/ca_bundle_combine.crt;
    ssl_certificate_key cert/private.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://<你的 domain 实际ip>:8080/;
    }
}
server {
     listen 80;
     server_name mautic.smlpoints.com;
     return 301 https://$host$request_uri; 
}
  1. 将编写好的 nginx.conf 上传至 /opt/docker/nginx/conf.d
  2. 启动 nginx 服务
docker run -itd --name nginx -p 80:80 -p 443:443 -v /opt/docker/nginx/conf.d/nginx.conf:/etc/nginx/conf.d/nginx.conf -v /opt/docker/nginx/cert:/etc/nginx/cert -m 100m nginx
  1. 使用 docker ps 看是否有成功启用一个名为 nginx 的容器
  2. 无论成功与否,都可使用 docker logs nginx 来查看 log

参考资料

  1. Installing SSL Certificate on NGINX
  2. Docker 遇到 WARN No swap limit support 修复
  3. docker安装nginx并配置https
  4. SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

<<:  Day11 为什麽电脑能自动完成指令 - Lua 的多值回传

>>:  [区块链&DAPP介绍 Day18] 智能合约中什麽是 Gas

Proxmox VE 储存基本配置

将 Proxmox VE 系统升级至最新版本以後,接着可以来准备磁碟与储存集区,以提供客体机与其它...

Day7 资料储存 - object storage优缺点及场景

优缺点 优点 方便扩增: 由於Object storage是扁平化架构,只要增加机器就是增加这个大平...

强型闯入DenoLand[33] - Web API 正式完成!

强型闯入DenoLand[33] - Web API 正式完成! 昨天笔者介绍了 deno_mon...

Day3大哥我错了我选择vue2

接续昨天我们要决定使用哪一个前端框架 最後我选择使用vuetify 使用前端框架的用意是让我们的网站...

Day 7:CSS的display

今天这一篇,我主要会教的是display~ display 先来谈谈比较简单的display,dis...