使用Lucky实现NAT1类型的ipv4回源建站
前提条件 需要NAT1类型网络
先查看自己的公网地址


之后我们追踪一下这个地址

这样就是NAT1类型 从路由器到运营商接入层再到公网 只经过一次NAT转换
我们需要在Lucky新建一条DDNS

Token可以在这获取
接口地址是飞书的机器人

请求体如下
{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "Openwrt-DDNS-ipv4",
"content": [
[
{
"tag": "text",
"text": "IP地址:#{ipAddr}"
}
],
[
{
"tag": "text",
"text": "域名更新成功列表:#{successDomainsLine}"
}
],
[
{
"tag": "text",
"text": "域名更新失败列表:#{failedDomainsLine}"
}
],
[
{
"tag": "text",
"text": "Webhook触发时间: #{time}"
}
]
]
}
}
}
}然后我们把想要访问的域名在cf上记录下 并开启小黄云 我这里以or4.lovelyy.us.kg举例只要你想要任意域名 全部都CNAME到刚刚的动态域名上我这里是 4.lovelyy.us.kg

我们把要访问的域名做一个规则 重写端口

我这里起名叫 OpenWrt Any

有多个主机可以用 or 逻辑判断
由于我是Openwrt使用Lucky 所以需要放行ipv4进入 网络>防火墙>通信规则

新建一条规则 允许WAN接口所有的ipv4入站

高级设置中只允许ipv4类型

然后我们在lucky创建一条STUN规则

我这里是路由器(AX1800Pro)拨号 所以是穿透的pppoe口


STUN穿透目标端口我这里以52061举例
自定义脚本可以再这个地方获取 (origin-rules.sh)
GLOBAL API Key可以在这获取

请求体参考(飞书)
{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "#{ruleName}",
"content": [
[
{
"tag": "text",
"text": "触发Webhook的时间: #{time}"
}
],
[
{
"tag": "text",
"text": "STUN穿透公网IP地址(含端口): #{ipAddr}"
}
],
[
{
"tag": "text",
"text": "STUN穿透公网IP地址的IP部分: #{ip}"
}
],
[
{
"tag": "text",
"text": "STUN穿透公网IP地址中的端口部分: #{port}"
}
]
]
}
}
}
}
后面能看到打洞成功的样子

接下来我们用Lucky实现单端口多域名反代后端服务器
我们新建一个Web服务穿透端口填写STUN穿透的端口演示的是 52061

默认规则不管 添加一个子规则 前端地址是你要访问的域名 后端地址是内网的服务

然后我们尝试访问or4.lovelyy.us.kg 成功了

以上是CloufFlare回源实现非80端口访问 以下是进阶步骤申请TLS证书并通过HTTPS访问
我们回到Lucky SSL/TLS证书>添加一个新证书

填写信息申请证书 我这里用ACME申请 证书颁发机构用的是ZeroSSL

Kid HMAC Key 可以在此处获取 未注册账号可以注册一个

申请好了以后 Lucky会自动使用这个证书实现HTTPS访问
回到Lucky>Web服务 启用TLS访问

但是如果我们每次都要加上HTTPS很麻烦 所以新建一个Web服务 让所有HTTP重定向到HTTPS
Tips:监听端口要和Web服务端口一致

只需要修改默认规则 服务类型选择重定向 默认目标地址如下
https://{host}:{port}
由于使用了HTTPS访问 所以在CloudFlare回源的时候需要把 SSL/TLS 加密改成完全
回到CloudFlare 规则>Configuration Rules>创建规则

输入我们的访问域名 启用自动HTTPS重写

滑动到最下面 把SSL选择完全(如果有多个域名弄个or判断表达式)

评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
