当前位置: 首页 > 学习 > 正文

NAS Docker 中安装 Lucky 实现反代备忘录

NAS 中通过 Docker 安装 Lucky 实现公网反向代理访问 Docker 中的应用,简单记录一下,仅供参考。

添加阿里云 AccessKey

首先需要去域名服务商申请 AccessKey 便于后面做 DDNS。
以阿里云域名解析为例,在第三方添加阿里云主账号 AccessKey 不安全,推荐创建一个 RAM 访问控制账户。

创建一个 RAM 访问控制账户,在用户信息-凭证管理中创建此用户的 AccessKey,记录下 AccessKey ID 和 AccessKey Secret,等下需要填写到 Lucky 中。

阿里云创建 RAM 账户

在权限管理中创建一条权限策略,用于域名创建和更新,脚本可选择如下:


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "alidns:DescribeDomainRecords",
        "alidns:DescribeSubDomainRecords",
        "alidns:UpdateDomainRecord",
        "alidns:UpdateDomainRecordRemark",
        "alidns:AddDomainRecord",
        "alidns:DeleteDomainRecord"
      ],
      "Resource": "acs:alidns:*:你的主id:domain/你的域名如:abc.com"
    }
  ]
}

权限策略

在权限管理-授权中找到刚才添加的权限策略授权

如果有问题在概览-管控事件中查看最近的事件,点击事件详情查看API请求ID,将ID复制到权限诊断中输入Request ID查看问题指引,在权限策略中添加对应的权限即可。

Lucky配置

动态域名

添加任务

以阿里云域名解析为例

  • 操作模式:简易模式
  • 托管服务商:阿里云
  • AccessKey ID:来自阿里云
  • AccessKey Secret:来自阿里云

添加同步记录

如果你的宽带可以获取 IPv4 公网地址,请添加abc.com和*.abc.com对应 IPv4 动态域名解析,将自动拆分两条

  • 记录名:abc.com和*.abc.com,将自动拆分两条
  • 同步开关:启用
  • 记录类型:A(IPv4)
  • 记录内容:{ipv4Addr}

如果你的宽带可以获取 IPv6 公网地址,则添加abc.com和*.abc.com对应 IPv6 动态域名解析,将自动拆分两条

  • 记录名:abc.com和*.abc.com,将自动拆分两条
  • 同步开关:启用
  • 记录类型:AAAA(IPv6)
  • 记录内容:{ipv6Addr}

添加成功,在阿里云云解析DNS中对应域名下面添加有相应的记录就对了。

lucky 添加DDNS

为什么要添加 abc.com 和 *.abc.com 呢,这是方便等下添加应用的时候自定义一个二级域名,这样只会暴露abc.com这个域名,xx.abc.com这个域名没人知道也就避免了暴露了尴尬。如果没有二级域名,添加成 ddns.abc.com 和 *.ddns.abc.com 这样也行。

SSL/TLS证书

添加证书

  • 添加方式:ACME
  • 证书颁发机构:Let’s Encrypt或ZeroSSL
  • 验证方式:阿里云
  • 创建AccessKey:填写阿里云ID和Secret
  • 域名/IP列表:abc.com和*.abc.com

添加成功后在列表中看见更新了到期时间了就表示ssl证书签发成功。

Web服务

添加Web 服务规则

  • 规则开关:启用
  • 操作模式:简易模式
  • 监听类型:全选,IPv4,IPv6
  • 监听端口:外部访问端口,默认为16666
  • 防火墙自动放行:Docker部署点击关闭,否则可启用
  • TLS:启用
  • 默认规则:
    • 服务类型:关闭连接
  • 子规则列表,添加一个子规则
    • 子规则名称:自定义,填写应用名称,比如 gitea
    • 子规则开关:启用
    • 服务类型:反向代理
    • 前端地址:xxx.abc.com
    • 后端地址:http://172.17.0.x:3000(改成具体地址),看应用部署 docker 的内部地址和端口,不要填写映射之后的nas地址和端口
    • 万事大吉:启用

添加http重定制到https规则

  • 规则开关:启用
  • 操作模式:简易模式
  • 监听类型:全选
  • 监听端口:同上面的web端口,默认为16666
  • 防火墙自动放行:Docker部署点击关闭,否则可启用
  • TLS:禁用
  • 默认规则:
    • 服务类型:重定向
    • 默认目标地址:https://{host}:{port}

防火墙安全加固

NAS或路由器中防火墙也应加固一下,添加如下规则:

  • 添加本地网段子网所有端口和协议允许访问:192.168.x.0/24
  • 添加docker网段子网所有端口和协议允许访问:172.17.0.0/16
  • 添加ipv6本地网段允许访问:fe80::-fe80::ffff:ffff:ffff:ffff
  • 添加docker网段子网udp 53端口允许访问:172.17.0.0/16
  • 添加lucky公网端口允许访问:16666
  • 添加nas地址和端口公网拒绝访问:来源IP所有
  • 若上述规则皆不符合时:拒绝访问

路由器网关NAT转发

路由器中添加 Lucky 监听端口到公网端口映射,如 16666 – 16666

注意:如果是 ipv6,不需要端口映射就可以访问。大部分防火墙默认是已经阻止了 ipv6 的访问。

除非注明,流浪天下文章均为原创,转载请以链接形式注明出处。查看声明
本文链接:https://mecll.com/1059.html

相关推荐

《NAS Docker 中安装 Lucky 实现反代备忘录》等您坐沙发呢!

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

Gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen