Dokploy & Traefik 反代已有 SSL 的容器

最近,我将我的所有服务迁移到了 Dokploy 上运行,Dokploy 使用 Traefik 将 Docker 内的服务反代到服务器的外部端口上。

本来这个过程非常方便,只需要去图形化界面添加域名即可,但是此处 Traefik 默认是以 HTTP 协议回源,导致某些采用 HTTPS 协议的应用(比如我的 Krill,SSL 强开无法关闭)无法正常回源。

只需要加上这样一行代码即可。

- traefik.http.services.servicename.loadbalancer.server.scheme=https

对于 Compose 部署方式,将这一行加到 labels 中即可,如:

    labels:
      - traefik.http.services.rpki-infrastructure-krill*****-web.loadbalancer.server.scheme=https
      - traefik.http.services.rpki-infrastructure-krill*****-websecure.loadbalancer.server.scheme=https

这样即可

如果是 Application 部署的话,则需要到 Advanced > Traefik > Modify 这样修改

http:
  routers:
    rpki-infrastructure************:
      rule: Host(`rpki-infrastructure********。traefik.me`)
      service: rpki-infrastructure**********
      middlewares: []
      entryPoints:
        - web
  services:
    rpki-infrastructure***************:
      loadBalancer:
        servers:
          - url: http://rpki-infrastructure-***********:3000
+         # 加到这里
+         scheme: https
        passHostHeader: true

那么再进一步,如果是自签名证书呢,需要更多一步。

我们需要创建一个 serversTransports 来处理不安全状态,理论上对于 Application 来说 serversTransports 可以直接写在应用的 http 块中,Compose 也可以直接写在 labels 中但是为了方便及复用性考虑,我们将他添加到 Traefik File System 中。

点到 /etc/dokploy/traefik/dynamic/middlewares.yml ,点击 Unlock

http:
  middlewares:
    redirect-to-https:
      redirectScheme:
        scheme: https
        permanent: true
# 添加以下内容 
  serversTransports:
    insecure:
      insecureSkipVerify: true

然后,我们在服务中引用该 Transport。

      - traefik.http.services.rpki-infrastructure-krill**********.loadbalancer.serversTransport=insecure@file

使用 Compose 则添加这一部分,记得添加 @file,表明该 transport 来自的 Provider 是文件。

对于 Application 而言,只需要

http:
  routers:
    rpki-infrastructure************:
      rule: Host(`rpki-infrastructure********。traefik.me`)
      service: rpki-infrastructure**********
      middlewares: []
      entryPoints:
        - web
  services:
    rpki-infrastructure***************:
      loadBalancer:
        servers:
          - url: http://rpki-infrastructure-***********:3000
          scheme: https
        # 加到这里
        serversTransport: insecure
        # 这里不用加 @file 了,因为 Application 的配置文件直接就在 Traefik File System 里
        passHostHeader: true

Read more

Linux 对流入流量的 srcnat

最近维护 AS151673 个人网时用到了某公共的 Wireguard 隧道服务。链接质量非常好,但是由于其限制了可通过地址,且其实际上存在多跳。 A(我的机器) B (该 WG 服务器)C(我的第二台机器) 故准备在套一层 GRE 来建立 OSPF。 但是当 GRE 建立后 两侧都无法联通。 抓包发现实际上应该 src 为 A ,dst 为 C 的流量,变成了 src 为 B ,dst 为 C,另一侧同理。很明显是在 B 有一层 SNAT/MASQUERADE 这导致 GRE 没有将这样的流量匹配到 A-C 的

记:PCIE 转 OCP 板改造

之前一直给软路由用的 X520-DA2 网卡坏了,这次升级一下,遂于闲鱼购入了 PCIE 转 OCP 板+CX342 网卡,单独又购买了 CX4421 这张卡,同时在嘉立创打了一块 Github 开源版本的转接卡。 咸鱼买来的转接卡是不带 12v转5v供电的,如图。 其5v供电处被 TP1 直接短接导 12v上,这样做在某种意义上是可行的,因为网卡的供电原设计为由5v降压,虽然稳压芯片可接受12v,但是某种程度上来说并不稳定,压差大发热大,且长时间可能导致损坏致使网卡被击穿。 大致翻阅了一下,网络上存在同款含降压电路的转接板。 找了多张图片,看清芯片丝印是 IAFRH, 查询得芯片为 MP2225GJ-Z, 查询文档得电路图 工作模式由 L1 电感,R1, C3 值决定,跟板上电路对比,板上缺少 C3,C1,C1A。 则理论电路图为

RouterOS 使用 MA5671A 猫棒

近日,我购入了 Mikrotik 的 hAP ax S 路由器,其搭载一个 SFP 口,可以让我使用猫棒来替代光猫。 首先,家里有两条中国移动宽带,一条宽带被更换为了 fttr 双设备,个人比较满意(测速可以跑800Mbps),可以留着正常使用,剩余一条宽带光猫较为老旧,决定进行更换,后续可以使用该 Router 进行双宽带叠加,接入个人网(AS151673)。 1.物料清单 序号 名称 1 Mikrotik hAP ax S 2 MA5671A 猫棒 3 SC/APC 转 SC/UPC 光纤 4 SC-SC 光纤 连接器

陇ICP备2024006160号-2
甘公网安备62030002000139号