部署兰空图床及配置CDN

眨眼来巴黎已经一周了,这一周的节奏非常地高,早上10点开始与客户开始开会,一直持续到下午7点左右,然后开始刷新文档,直到晚上9点左右。
巴黎的夜黑的很晚,晚上9点天还大亮,给人一种还早的错觉。

WechatIMG60.jpg

毫无疑问的,周末直接加了2天班,万恶的资本主义还不允许去办公室加班,因此,只能窝在酒店糟糕的网络条件下加班奋斗。

Anyway,巴黎该玩的地方上次来巴黎已经都玩过了,没有太多新的兴趣。

话回正题,周日抽空还部署了一下兰空图床,主要用作博客和Memos的图床。接下来记录一下部署及配置CDN的过程。


1. 信息收集

类别 URL
CDN加速域名 https://img.timepoet.com:443
源站域名 https://p.timepoet.com:1443

2. 使用Docker Compose部署兰空图床容器

services:
  lsky-pro:
    image: dko0/lsky-pro:latest
    container_name: lsky-pro-1
    restart: unless-stopped
    ports:
      - "8980:80"
    volumes:
      - /volume1/docker/lsky4zhc/data:/var/www/html
    environment:
      - MYSQL_HOST={数据库IP}
      - MYSQL_PORT={数据库监听端口}
      - MYSQL_DATABASE={数据库名}
      - MYSQL_USER={数据库用户名}
      - MYSQL_PASSWORD={MySQL数据库密码}
      - TZ=Asia/Shanghai

说明

  1. 映射到宿主机8980端口;
  2. 挂载图床图片保存目录到/volume1/docker/lsky4zhc/data
  3. 图床应用使用群晖服务器上MariaDB套件的数据库;

3. 更新防火墙策略允许兰空访问MariaDB数据库

上述步骤部署的兰空图床容器,会自动创建一个bridge网络:

Snip20250803_4.png

记下这个网段172.22.0.0/16,在群晖服务器防火墙中增加允许访问网段访问MariaDB监听端口的策略:

Snip20250803_5.png

同时,增加允许WAF访问映射的8980端口的策略:

Snip20250803_6.png

4. 构建兰空图床容器项目

重新构建兰空图床容器项目,此时容器应用将能够访问数据库。

5. WAF上创建代理站点

接下来在WAF应用上创建代理站点,以代理http的兰空图床应用。

首先需要申请外部CDN加速域名的证书并且上传到WAF证书管理模块。

然后创建代理问站点,注意如下配置:

配置项 配置
应用域名 img.timepoet.com
监听端口 1443/HTTPS
接入方式 代理到已有应用
上游服务器 http://{兰空容器应用所在宿主机IP}:8980

注意应用域名直接配置加速域名,并且保证CDN的回源配置中源站IP和端口能转发到WAF应用即可。

6. WAF配置

WAF上注意开启如下配置项:

Snip20250803_7.png

7. 配置CDN加速

本次使用阿里云普通CDN。

因为家里是有公网IP的,通过DDNS解析域名p.timepoet.com到公网IP,公网IP在宽带入口路由器上,路由器将转发1443端口流量至WAF主机的内网IP上。

因此,数据流为:

  1. Internet –> CDN加速域名https://img.timepoet.com:443/
  2. https://img.timepoet.com/ 通过CNAME至源站https://p.timepoet.com:1443,即流量转发至家里公网IP的路由器;
  3. 路由器将1443端口流量通过NAT配置转发至WAF主机;
  4. WAF应用匹配目标站点为https://img.timepoet.com:1443
  5. WAF应用转发流量至后端上游站点http://{兰空容器应用所在宿主机IP}:8980

7.1. 源站配置

Snip20250803_8.png

如图,源站配置的p.timepoet.com,其作用是通过DDNS能寻址到家里公网IP;

7.2. 回源HOST配置

Snip20250803_9.png

回源HOST类型配置为加速域名,这样后端的WAF才不会因为HOST与WAF配置的代理站点域名不一致而报站点不存在。

7.3. 回源协议配置

Snip20250803_10.png

需要配置源站的HTTPS端口为正确的端口。

7.4. HTTPS配置

接下来需要配置HTTPS协议的证书、HTTP协议版本。

Snip20250803_11.png

Snip20250803_12.png

同时,为了安全起见,最好把TLSv1.0TLSv1.1这两个不安全协议关闭。同时,开启HSTS。

8. 配置CDN加速域名CNAME

最后,将CDN加速域名通过CNAME指向CDN服务的域名记录,稍等片刻,就可以通过CDN加速域名访问兰空图床啦。

Snip20250803_13.png

转载请注明来源:星期九 » 部署兰空图床及配置CDN

相关文章

评论 (0)