nginx-lua

2023-03-03 宋洋葱 宋洋葱

前言

每次部署网站或者服务很麻烦,是否可以通过 openresty + lua 脚本实现通过域名反向代理任意端口呢?

ip 地址形式为 x.x.x.x,共有四部分 0~255 组成(10进制) ,若使用 36 进制表示, 2 个字符串可代表一个 ip 地址,8 个字符串 即可表示任意 ip 地址。比如:192.168.1.100 可用 5c4o012s 表示 (不足 2 位用 0 补足)

同理计算机端口范围 0~65535 ,一共 65536 个,使用 36 进制表示,4 个字符即可够用。

所以一共 12 个字符就可以代替任意 ip+端口

这样设计扩展性是强了,但使用不方便,每次输入 12 个字符很麻烦,也不方便记忆。 正常情况也不可能反向代理这么多 ip 和端口,

只开放 36个 ip,36 个端口。只需要用两个字符

规定 端口永远是 10100~10135 代表0~z

xx.km.sxy21.cn

所以两个字符就能满足需要了。

实战

下面是实战环节:

推荐使用 OpenResty 代替 nginx+lua

配置泛域名解析

配置端口映射

参考文档